diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 549f0fcb67..6be2f4528c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -26,7 +26,7 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: '8.3' + php-version: '8.4' extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv, tidy coverage: none diff --git a/.phpunit.cache/test-results b/.phpunit.cache/test-results new file mode 100644 index 0000000000..df6a6cbf1b --- /dev/null +++ b/.phpunit.cache/test-results @@ -0,0 +1 @@ +{"version":"pest_4.7.2","defects":{"P\\Tests\\Unit\\Database\\TransactionTest::__pest_evaluable_it_can_create_related_models_within_transaction":8,"P\\Tests\\Unit\\Models\\KeluargaTest::__pest_evaluable_it_can_create_a_keluarga":8,"P\\Tests\\Unit\\Models\\KeluargaTest::__pest_evaluable_it_has_fillable_attributes":8,"P\\Tests\\Unit\\Models\\KeluargaTest::__pest_evaluable_it_has_timestamps_enabled":8,"P\\Tests\\Unit\\Models\\KeluargaTest::__pest_evaluable_it_has_cluster_relationship":8,"P\\Tests\\Unit\\Models\\KeluargaTest::__pest_evaluable_it_has_kepala__kk_relationship":8,"P\\Tests\\Unit\\Models\\KeluargaTest::__pest_evaluable_it_has_desa_relationship":8,"P\\Tests\\Unit\\Models\\KeluargaTest::__pest_evaluable_it_can_be_filtered_by_dusun":8,"P\\Tests\\Unit\\Models\\KeluargaTest::__pest_evaluable_it_can_be_filtered_by_rt":8,"P\\Tests\\Unit\\Models\\KeluargaTest::__pest_evaluable_it_can_be_filtered_by_rw":8,"P\\Tests\\Unit\\Models\\KeluargaTest::__pest_evaluable_it_can_handle_date_fields_correctly":8,"P\\Tests\\Unit\\Models\\KeluargaTest::__pest_evaluable_it_can_handle_multiple_families_with_same_kepala__kk":8,"P\\Tests\\Unit\\Models\\KeluargaTest::__pest_evaluable_it_has_default_values_for_certain_fields":8,"P\\Tests\\Unit\\Models\\KeluargaTest::__pest_evaluable_it_can_handle_null_values_for_optional_fields":8,"P\\Tests\\Unit\\Models\\KeluargaTest::__pest_evaluable_it_can_handle_relationships_with_penduduk":8,"P\\Tests\\Unit\\Models\\ModelRelationshipsTest::__pest_evaluable_it_penduduk_belongs_to_data_desa":8,"P\\Tests\\Unit\\Models\\ModelRelationshipsTest::__pest_evaluable_it_penduduk_belongs_to_keluarga":8,"P\\Tests\\Unit\\Models\\ModelRelationshipsTest::__pest_evaluable_it_penduduk_belongs_to_pekerjaan":8,"P\\Tests\\Unit\\Models\\ModelRelationshipsTest::__pest_evaluable_it_penduduk_belongs_to_pendidikan_kk":8,"P\\Tests\\Unit\\Models\\ModelRelationshipsTest::__pest_evaluable_it_penduduk_belongs_to_status_kawin":8,"P\\Tests\\Unit\\Models\\ModelRelationshipsTest::__pest_evaluable_it_keluarga_has_one_kepala_keluarga":8,"P\\Tests\\Unit\\Models\\ModelRelationshipsTest::__pest_evaluable_it_can_traverse_complex_relationships":8,"P\\Tests\\Unit\\Models\\ModelRelationshipsTest::__pest_evaluable_it_handles_null_relationships_gracefully":8,"P\\Tests\\Unit\\Models\\ModelRelationshipsTest::__pest_evaluable_it_eager_loads_relationships_efficiently":8,"P\\Tests\\Unit\\Models\\ModelRelationshipsTest::__pest_evaluable_it_counts_relationships_correctly":8,"P\\Tests\\Unit\\Models\\ModelRelationshipsTest::__pest_evaluable_it_queries_relationships_with_constraints":8,"P\\Tests\\Unit\\Models\\ModelRelationshipsTest::__pest_evaluable_it_handles_relationship_deletion":8,"P\\Tests\\Unit\\Models\\ModelScopesTest::__pest_evaluable_it_can_filter_penduduk_by_hidup_scope":8,"P\\Tests\\Unit\\Models\\ModelScopesTest::__pest_evaluable_it_can_filter_penduduk_by_sex":8,"P\\Tests\\Unit\\Models\\ModelScopesTest::__pest_evaluable_it_can_filter_penduduk_by_age_range":8,"P\\Tests\\Unit\\Models\\ModelScopesTest::__pest_evaluable_it_can_combine_multiple_scopes":8,"P\\Tests\\Unit\\Models\\ModelScopesTest::__pest_evaluable_it_can_mutate_attributes_before_saving":8,"P\\Tests\\Unit\\Models\\ModelScopesTest::__pest_evaluable_it_can_mutate_NIK_before_saving":8,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_can_create_a_penduduk":8,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_has_guarded_attributes":8,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_has_timestamps_enabled":8,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_can_get_penduduk_aktif_with_year_filter":8,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_can_get_penduduk_aktif_with_desa_filter":8,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_has_hidup_scope":8,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_has_pekerjaan_relationship":8,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_has_pendidikan__kk_relationship":8,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_has_keluarga_relationship":8,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_has_suplemen__terdata_relationship":8,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_has_desa_relationship":7,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_has_lembaga_relationship":8,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_has_lembagaAnggota_relationship":8,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_has_pendudukSex_relationship":8,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_can_be_filtered_by_gender":8,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_can_be_filtered_by_marital_status":8,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_can_be_filtered_by_citizenship":8,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_can_be_filtered_by_status_dasar":8,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_can_be_filtered_by_pregnancy_status":8,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_can_handle_KK_uniqueness":8,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_can_handle_date_fields_correctly":8,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_can_handle_optional_fields":8,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_can_handle_imported__at_timestamp":8,"P\\Tests\\Unit\\Models\\SettingAplikasiTest::__pest_evaluable_it_can_handle_setting_with_empty_options":8,"P\\Tests\\Unit\\Services\\DesaServiceTest::__pest_evaluable_it_can_get_path_desa_list_when_not_using_database_gabungan":8,"P\\Tests\\Unit\\Services\\KeluargaServiceTest::__pest_evaluable_it_can_get_keluarga_by_ID_from_API":8,"P\\Tests\\Unit\\Services\\KeluargaServiceTest::__pest_evaluable_it_handles_missing_attributes_in_keluarga_data":8,"P\\Tests\\Unit\\Services\\KeluargaServiceTest::__pest_evaluable_it_can_get_jumlah_keluarga_from_API":7,"P\\Tests\\Unit\\Services\\KeluargaServiceTest::__pest_evaluable_it_can_export_keluarga_data_from_API":7,"P\\Tests\\Unit\\Services\\KeluargaServiceTest::__pest_evaluable_it_handles_missing_attributes_in_export_data":7,"P\\Tests\\Unit\\Services\\KeluargaServiceTest::__pest_evaluable_it_handles_dash_in_tgl__cetak__kk_field":7,"P\\Tests\\Unit\\Services\\KeluargaServiceTest::__pest_evaluable_it_can_apply_filters_to_jumlah_keluarga":7,"P\\Tests\\Unit\\Services\\KeluargaServiceTest::__pest_evaluable_it_can_export_keluarga_with_custom_parameters":7,"P\\Tests\\Unit\\Services\\KeluargaServiceTest::__pest_evaluable_it_can_export_all_keluarga_data":7,"P\\Tests\\Unit\\Services\\KeluargaServiceTest::__pest_evaluable_it_can_export_keluarga_with_null_timestamps":7,"P\\Tests\\Feature\\AdminKomplainControllerTest::__pest_evaluable_update":8,"P\\Tests\\Feature\\AdminKomplainControllerTest::__pest_evaluable_update_komentar":8,"P\\Tests\\Feature\\Api\\AuthApiTest::__pest_evaluable_user_can_login_with_valid_credentials":7,"P\\Tests\\Feature\\Api\\AuthApiTest::__pest_evaluable_authenticated_user_can_get_their_profile":8,"P\\Tests\\Feature\\Api\\AuthApiTest::__pest_evaluable_user_can_refresh_their_token":8,"P\\Tests\\Feature\\Api\\AuthApiTest::__pest_evaluable_user_can_logout":8,"P\\Tests\\Feature\\Api\\Frontend\\KomplainControllerTest::__pest_evaluable_store_with_valid_data":8,"P\\Tests\\Feature\\Api\\Frontend\\KomplainControllerTest::__pest_evaluable_store_with_file_attachments":8,"P\\Tests\\Feature\\Api\\Frontend\\PotensiControllerTest::__pest_evaluable_potensi_api_returns_correct_structure":7,"P\\Tests\\Feature\\Api\\PublicApiTest::__pest_evaluable_guest_can_access_articles_list":8,"P\\Tests\\Feature\\Api\\PublicApiTest::__pest_evaluable_guest_can_filter_articles_by_category":8,"P\\Tests\\Feature\\Api\\PublicApiTest::__pest_evaluable_guest_can_sort_articles":8,"P\\Tests\\Feature\\Api\\PublicApiTest::__pest_evaluable_guest_can_see_pagination_metadata":8,"P\\Tests\\Feature\\Api\\PublicApiTest::__pest_evaluable_guest_can_post_a_comment_to_an_article":8,"P\\Tests\\Feature\\ArtikelControllerTest::__pest_evaluable_can_get_all_articles":8,"P\\Tests\\Feature\\ArtikelControllerTest::__pest_evaluable_can_get_articles_with_pagination":8,"P\\Tests\\Feature\\ArtikelControllerTest::__pest_evaluable_can_get_articles_with_sorting":8,"P\\Tests\\Feature\\ArtikelControllerTest::__pest_evaluable_can_get_articles_with_filter_by_category":8,"P\\Tests\\Feature\\ArtikelControllerTest::__pest_evaluable_can_get_articles_with_filter_by_status":8,"P\\Tests\\Feature\\ArtikelControllerTest::__pest_evaluable_can_get_articles_with_search":8,"P\\Tests\\Feature\\ArtikelControllerTest::__pest_evaluable_can_get_articles_with_include_kategori":8,"P\\Tests\\Feature\\ArtikelControllerTest::__pest_evaluable_can_get_articles_with_include_comments":8,"P\\Tests\\Feature\\ArtikelControllerTest::__pest_evaluable_can_get_articles_with_fields":8,"P\\Tests\\Feature\\ArtikelControllerTest::__pest_evaluable_can_store_comment_for_article":8,"P\\Tests\\Feature\\ArtikelControllerTest::__pest_evaluable_store_comment_with_invalid_data_returns_validation_error":8,"P\\Tests\\Feature\\ArtikelControllerTest::__pest_evaluable_store_comment_for_non_existent_article_returns_404":8,"P\\Tests\\Feature\\ArtikelControllerTest::__pest_evaluable_validation_error_for_invalid_sort_field":8,"P\\Tests\\Feature\\Audit\\AuditTrailTest::__pest_evaluable__Audit_Trail__\u2192_audit_trail_table_exists":1,"P\\Tests\\Feature\\Audit\\AuditTrailTest::__pest_evaluable__Audit_Trail__\u2192_model_changes_are_logged":1,"P\\Tests\\Feature\\Audit\\AuditTrailTest::__pest_evaluable__Audit_Trail__\u2192_audit_log_contains_correct_data":1,"P\\Tests\\Feature\\Audit\\AuditTrailTest::__pest_evaluable__Audit_Trail__\u2192_causer_is_recorded_in_audit_log":1,"P\\Tests\\Feature\\Audit\\AuditTrailTest::__pest_evaluable__Audit_Trail__\u2192_audit_log_can_be_queried_by_model":1,"P\\Tests\\Feature\\Audit\\AuditTrailTest::__pest_evaluable__Audit_Trail__\u2192_delete_action_is_logged":1,"P\\Tests\\Feature\\Audit\\AuditTrailTest::__pest_evaluable__Audit_Trail__\u2192_properties_are_stored_in_audit_log":1,"P\\Tests\\Feature\\Content\\ArtikelCrudTest::__pest_evaluable__Artikel_CRUD__\u2192_store_creates_new_artikel_successfully":7,"P\\Tests\\Feature\\Content\\ArtikelCrudTest::__pest_evaluable__Artikel_CRUD__\u2192_edit_displays_edit_form":8,"P\\Tests\\Feature\\Content\\ArtikelCrudTest::__pest_evaluable__Artikel_CRUD__\u2192_update_updates_artikel_successfully":8,"P\\Tests\\Feature\\Content\\ArtikelCrudTest::__pest_evaluable__Artikel_CRUD__\u2192_destroy_deletes_artikel_successfully":8,"P\\Tests\\Feature\\Database\\SoftDeleteTest::__pest_evaluable__Soft_Delete_Functionality__\u2192_models_use_soft_delete":1,"P\\Tests\\Feature\\Database\\SoftDeleteTest::__pest_evaluable__Soft_Delete_Functionality__\u2192_restore_soft_deleted_record":1,"P\\Tests\\Feature\\Database\\SoftDeleteTest::__pest_evaluable__Soft_Delete_Functionality__\u2192_force_delete_permanently_removes_record":1,"P\\Tests\\Feature\\Database\\SoftDeleteTest::__pest_evaluable__Soft_Delete_Functionality__\u2192_trashed_records_can_be_queried":1,"P\\Tests\\Feature\\Database\\SoftDeleteTest::__pest_evaluable__Soft_Delete_Functionality__\u2192_unique_validation_ignores_soft_deleted_records":1,"P\\Tests\\Feature\\Database\\SoftDeleteTest::__pest_evaluable__Soft_Delete_Functionality__\u2192_relationships_with_soft_deleted_models":1,"P\\Tests\\Feature\\Database\\TransactionTest::__pest_evaluable__Database_Transactions__\u2192_multiple_operations_in_single_transaction":8,"P\\Tests\\Feature\\Database\\TransactionTest::__pest_evaluable__Database_Transactions__\u2192_savepoint_and_rollback_to_savepoint":1,"P\\Tests\\Feature\\ExportDatabaseGabunganTest::__pest_evaluable_export_keluarga_with_database_gabungan_inactive_uses_local_database":8,"P\\Tests\\Feature\\ExportDatabaseGabunganTest::__pest_evaluable_export_penduduk_with_database_gabungan_inactive_uses_local_database":8,"P\\Tests\\Feature\\KeluargaExportTest::__pest_evaluable_export_excel_keluarga":8,"P\\Tests\\Feature\\KeluargaExportTest::__pest_evaluable_export_excel_keluarga_with_desa_filter":8,"P\\Tests\\Feature\\KeluargaExportTest::__pest_evaluable_export_keluarga_local_database_no_filter":8,"P\\Tests\\Feature\\KeluargaExportTest::__pest_evaluable_export_keluarga_local_database_with_desa_filter":8,"P\\Tests\\Feature\\KeluargaExportTest::__pest_evaluable_export_keluarga_with_semua_filter":8,"P\\Tests\\Feature\\KeluargaExportTest::__pest_evaluable_export_keluarga_with_small_dataset_performance":8,"P\\Tests\\Feature\\KeluargaExportTest::__pest_evaluable_export_keluarga_with_medium_dataset_performance":8,"P\\Tests\\Feature\\KeluargaExportTest::__pest_evaluable_export_keluarga_with_large_dataset_performance":8,"P\\Tests\\Feature\\KeluargaExportTest::__pest_evaluable_export_keluarga_with_multiple_desa_performance":8,"P\\Tests\\Feature\\KeluargaExportTest::__pest_evaluable_export_keluarga_with_filter_performance":8,"P\\Tests\\Feature\\KeluargaExportTest::__pest_evaluable_export_keluarga_memory_usage_with_large_dataset":8,"P\\Tests\\Feature\\KeluargaExportTest::__pest_evaluable_export_keluarga_with_eager_loading_performance":8,"P\\Tests\\Feature\\KeluargaExportTest::__pest_evaluable_export_keluarga_repeated_exports_consistency":8,"P\\Tests\\Feature\\KeluargaExportTest::__pest_evaluable_export_keluarga_with_complex_data_relationships":8,"P\\Tests\\Feature\\KependudukanDataTablesPostTest::__pest_evaluable__DataTables_Menu_Kependudukan_via_POST__\u2192_Data_Suplemen_getsuplementerdata_endpoint_menerima_POST":7,"P\\Tests\\Feature\\Keuangan\\AnggaranDesaCrudTest::__pest_evaluable__Anggaran_Desa_CRUD__\u2192_destroy_deletes_anggaran_desa_successfully":8,"P\\Tests\\Feature\\LembagaAnggotaControllerTest::__pest_evaluable_it_can_create_lembaga_anggota":8,"P\\Tests\\Feature\\LembagaAnggotaControllerTest::__pest_evaluable_it_can_update_lembaga_anggota":8,"P\\Tests\\Feature\\LembagaAnggotaControllerTest::__pest_evaluable_it_can_delete_lembaga_anggota":8,"P\\Tests\\Feature\\Livewire\\WidgetControllerTest::__pest_evaluable_widget_search_shows_correct_results":1,"P\\Tests\\Feature\\MasterData\\KeluargaCrudTest::__pest_evaluable__Keluarga_CRUD__\u2192_show_displays_keluarga_detail":8,"P\\Tests\\Feature\\MasterData\\PendudukCrudTest::__pest_evaluable__Penduduk_CRUD__\u2192_show_displays_penduduk_detail":8,"P\\Tests\\Feature\\NavMenuControllerTest::__pest_evaluable_index_displays_nav_menu_page":8,"P\\Tests\\Feature\\PendudukExportTest::__pest_evaluable_export_penduduk_with_data":8,"P\\Tests\\Feature\\PendudukExportTest::__pest_evaluable_export_penduduk_with_pagination_params":8,"P\\Tests\\Feature\\PendudukExportTest::__pest_evaluable_export_penduduk_with_search_filter":8,"P\\Tests\\Feature\\PendudukExportTest::__pest_evaluable_export_penduduk_with_null_relationships":8,"P\\Tests\\Feature\\PendudukExportTest::__pest_evaluable_export_penduduk_with_special_characters":8,"P\\Tests\\Feature\\PendudukExportTest::__pest_evaluable_export_penduduk_with_unicode_characters":8,"P\\Tests\\Feature\\PendudukExportTest::__pest_evaluable_export_penduduk_performance_small_dataset":8,"P\\Tests\\Feature\\PendudukExportTest::__pest_evaluable_export_penduduk_performance_medium_dataset":8,"P\\Tests\\Feature\\PendudukExportTest::__pest_evaluable_export_penduduk_with_various_tanggal__lahir_formats":8,"P\\Tests\\Feature\\PendudukExportTest::__pest_evaluable_export_penduduk_memory_usage":8,"P\\Tests\\Feature\\PermohonanControllerTest::__pest_evaluable_show_menampilkan_detail_permohonan_surat":8,"P\\Tests\\Feature\\PermohonanControllerTest::__pest_evaluable_tolak_memperbarui_status_surat_ke_ditolak":8,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_can_get_all_profiles":7,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_can_get_profiles_with_pagination":7,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_can_get_profiles_with_sorting":7,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_can_get_profiles_with_filter_by_kecamatan_name":7,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_can_get_profiles_with_filter_by_kabupaten_name":7,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_can_get_profiles_with_filter_by_provinsi_name":7,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_can_get_profiles_with_filter_by_kecamatan_id":7,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_can_get_profiles_with_search":7,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_can_get_profiles_with_include_data_umum":7,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_can_get_profiles_with_include_data_desa":7,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_can_get_profiles_with_fields":7,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_can_get_single_profile_by_id":7,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_can_get_single_profile_by_id_with_includes":7,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_validation_error_for_invalid_sort_field":7,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_validation_error_for_invalid_order":7,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_rate_limiting_headers_are_present":7,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_rate_limiting_configuration_values":7,"P\\Tests\\Feature\\Security\\ApiSecurityTest::__pest_evaluable_api_returns_proper_JSON_content_type_header":7,"P\\Tests\\Feature\\SistemKomplainControllerTest::__pest_evaluable_komplain_store_with_valid_data":5,"P\\Tests\\Feature\\SuplemenExportTest::__pest_evaluable_export_suplemen_terdata_by_id":8,"P\\Tests\\Feature\\SuplemenExportTest::__pest_evaluable_export_suplemen_terdata_by_id_with_multiple_terdata":8,"P\\Tests\\Feature\\Surat\\PermohonanPratinjauSuratTest::__pest_evaluable_preview_file_url_is_correct":8,"P\\Tests\\Feature\\Upload\\FileUploadTest::__pest_evaluable__File_Upload_Functionality__\u2192__Artikel_Image_Upload__\u2192_can_upload_image_with_artikel":7,"P\\Tests\\Feature\\Upload\\FileUploadTest::__pest_evaluable__File_Upload_Functionality__\u2192__Artikel_Image_Upload__\u2192_can_update_artikel_image":8,"P\\Tests\\Feature\\Upload\\FileUploadTest::__pest_evaluable__File_Upload_Functionality__\u2192__File_Upload_Validation__\u2192_validates_file_is_not_required":7,"P\\Tests\\Feature\\Validation\\ValidationRulesTest::__pest_evaluable__Validation_Rules__\u2192__Imunisasi_Validation__\u2192_cakupan__imunisasi_is_required":8},"times":{"P\\Tests\\Unit\\Database\\TransactionTest::__pest_evaluable_it_can_commit_successful_transaction":0.068,"P\\Tests\\Unit\\Database\\TransactionTest::__pest_evaluable_it_can_rollback_failed_transaction":0.009,"P\\Tests\\Unit\\Database\\TransactionTest::__pest_evaluable_it_can_handle_nested_transactions":0.015,"P\\Tests\\Unit\\Database\\TransactionTest::__pest_evaluable_it_can_rollback_nested_transactions":0.011,"P\\Tests\\Unit\\Database\\TransactionTest::__pest_evaluable_it_can_create_related_models_within_transaction":0.038,"P\\Tests\\Unit\\Database\\TransactionTest::__pest_evaluable_it_can_rollback_related_models_creation":0.022,"P\\Tests\\Unit\\Database\\TransactionTest::__pest_evaluable_it_can_update_models_within_transaction":0.008,"P\\Tests\\Unit\\Database\\TransactionTest::__pest_evaluable_it_can_rollback_model_updates":0.009,"P\\Tests\\Unit\\Database\\TransactionTest::__pest_evaluable_it_can_delete_models_within_transaction":0.011,"P\\Tests\\Unit\\Database\\TransactionTest::__pest_evaluable_it_can_rollback_model_deletions":0.011,"P\\Tests\\Unit\\Database\\TransactionTest::__pest_evaluable_it_can_handle_complex_multi_model_operations":0.049,"P\\Tests\\Unit\\Database\\TransactionTest::__pest_evaluable_it_can_rollback_complex_multi_model_operations":0.041,"P\\Tests\\Unit\\Database\\TransactionTest::__pest_evaluable_it_maintains_data_consistency_during_concurrent_operations":0.008,"P\\Tests\\Unit\\Database\\TransactionTest::__pest_evaluable_it_handles_potential_deadlocks_gracefully":0.012,"P\\Tests\\Unit\\Database\\TransactionTest::__pest_evaluable_it_logs_transaction_activities":0.019,"P\\Tests\\Unit\\Database\\TransactionTest::__pest_evaluable_it_handles_large_transactions_efficiently":0.217,"P\\Tests\\Unit\\Database\\TransactionTest::__pest_evaluable_it_handles_external_service_calls_within_transactions":0.028,"P\\Tests\\Unit\\Database\\TransactionTest::__pest_evaluable_it_rolls_back_when_external_service_fails":0.007,"P\\Tests\\Unit\\ExampleTest::__pest_evaluable_basic_example_returns_true":0.002,"P\\Tests\\Unit\\FileUploadServiceTest::__pest_evaluable__FileUploadService__\u2192_dapat_upload_file_dengan_aman":0.029,"P\\Tests\\Unit\\FileUploadServiceTest::__pest_evaluable__FileUploadService__\u2192_menolak_file_dengan_MIME_type_tidak_diizinkan":0.005,"P\\Tests\\Unit\\FileUploadServiceTest::__pest_evaluable__FileUploadService__\u2192_menolak_file_yang_terlalu_besar":0.004,"P\\Tests\\Unit\\FileUploadServiceTest::__pest_evaluable__FileUploadService__\u2192_generate_filename_yang_aman":0.016,"P\\Tests\\Unit\\FileUploadServiceTest::__pest_evaluable__FileUploadService__\u2192_dapat_upload_multiple_files":0.012,"P\\Tests\\Unit\\Helpers\\PermissionHelperTest::__pest_evaluable__Permission_Helper_Function__\u2192_permission__name_returns_translated_name_for_access_dashboard":0.003,"P\\Tests\\Unit\\Helpers\\PermissionHelperTest::__pest_evaluable__Permission_Helper_Function__\u2192_permission__name_returns_translated_name_for_access_informasi":0.003,"P\\Tests\\Unit\\Helpers\\PermissionHelperTest::__pest_evaluable__Permission_Helper_Function__\u2192_permission__name_returns_translated_name_for_access_informasi_prosedur":0.003,"P\\Tests\\Unit\\Helpers\\PermissionHelperTest::__pest_evaluable__Permission_Helper_Function__\u2192_permission__name_returns_translated_name_for_access_data_penduduk":0.002,"P\\Tests\\Unit\\Helpers\\PermissionHelperTest::__pest_evaluable__Permission_Helper_Function__\u2192_permission__name_returns_translated_name_for_access_setting_role":0.003,"P\\Tests\\Unit\\Helpers\\PermissionHelperTest::__pest_evaluable__Permission_Helper_Function__\u2192_permission__name_returns_original_name_if_translation_not_found":0.003,"P\\Tests\\Unit\\Helpers\\PermissionHelperTest::__pest_evaluable__Permission_Helper_Function__\u2192_permission__name_returns_original_if_permission_key_is_empty":0.003,"P\\Tests\\Unit\\Models\\AgamaTest::__pest_evaluable_it_can_create_an_agama":0.004,"P\\Tests\\Unit\\Models\\AgamaTest::__pest_evaluable_it_has_fillable_attributes":0.003,"P\\Tests\\Unit\\Models\\AgamaTest::__pest_evaluable_it_has_timestamps_disabled":0.004,"P\\Tests\\Unit\\Models\\AgamaTest::__pest_evaluable_it_has_correct_table_name":0.003,"P\\Tests\\Unit\\Models\\AgamaTest::__pest_evaluable_it_handles_unique_constraint_on_nama":0.003,"P\\Tests\\Unit\\Models\\AgamaTest::__pest_evaluable_it_can_handle_null_values_for_optional_fields":0.004,"P\\Tests\\Unit\\Models\\AgamaTest::__pest_evaluable_it_can_query_agama_with_complex_filters":0.005,"P\\Tests\\Unit\\Models\\CacatTest::__pest_evaluable_it_can_create_a_cacat":0.006,"P\\Tests\\Unit\\Models\\CacatTest::__pest_evaluable_it_has_fillable_attributes":0.002,"P\\Tests\\Unit\\Models\\CacatTest::__pest_evaluable_it_has_timestamps_disabled":0.004,"P\\Tests\\Unit\\Models\\CacatTest::__pest_evaluable_it_has_correct_table_name":0.002,"P\\Tests\\Unit\\Models\\CacatTest::__pest_evaluable_it_handles_unique_constraint_on_nama":0.002,"P\\Tests\\Unit\\Models\\CacatTest::__pest_evaluable_it_can_handle_null_values_for_optional_fields":0.004,"P\\Tests\\Unit\\Models\\CacatTest::__pest_evaluable_it_can_query_cacat_with_complex_filters":0.006,"P\\Tests\\Unit\\Models\\DataDesaTest::__pest_evaluable_it_can_create_a_data_desa":0.004,"P\\Tests\\Unit\\Models\\DataDesaTest::__pest_evaluable_it_has_fillable_attributes":0.003,"P\\Tests\\Unit\\Models\\DataDesaTest::__pest_evaluable_it_has_timestamps_enabled":0.003,"P\\Tests\\Unit\\Models\\DataDesaTest::__pest_evaluable_it_has_keluarga_relationship":0.006,"P\\Tests\\Unit\\Models\\DataDesaTest::__pest_evaluable_it_has_penduduk_relationship":0.005,"P\\Tests\\Unit\\Models\\DataDesaTest::__pest_evaluable_it_can_be_filtered_by_nama":0.006,"P\\Tests\\Unit\\Models\\DataDesaTest::__pest_evaluable_it_has_correct_table_name":0.002,"P\\Tests\\Unit\\Models\\GolonganDarahTest::__pest_evaluable_it_can_create_a_golongan_darah":0.004,"P\\Tests\\Unit\\Models\\GolonganDarahTest::__pest_evaluable_it_has_fillable_attributes":0.005,"P\\Tests\\Unit\\Models\\GolonganDarahTest::__pest_evaluable_it_has_timestamps_disabled":0.005,"P\\Tests\\Unit\\Models\\GolonganDarahTest::__pest_evaluable_it_has_correct_table_name":0.003,"P\\Tests\\Unit\\Models\\GolonganDarahTest::__pest_evaluable_it_handles_unique_constraint_on_nama":0.002,"P\\Tests\\Unit\\Models\\GolonganDarahTest::__pest_evaluable_it_can_handle_null_values_for_optional_fields":0.004,"P\\Tests\\Unit\\Models\\GolonganDarahTest::__pest_evaluable_it_can_query_golongan_darah_with_complex_filters":0.009,"P\\Tests\\Unit\\Models\\HubunganKeluargaTest::__pest_evaluable_it_can_create_a_hubungan_keluarga":0.005,"P\\Tests\\Unit\\Models\\HubunganKeluargaTest::__pest_evaluable_it_has_fillable_attributes":0.003,"P\\Tests\\Unit\\Models\\HubunganKeluargaTest::__pest_evaluable_it_has_timestamps_disabled":0.003,"P\\Tests\\Unit\\Models\\HubunganKeluargaTest::__pest_evaluable_it_has_correct_table_name":0.002,"P\\Tests\\Unit\\Models\\HubunganKeluargaTest::__pest_evaluable_it_can_handle_null_values_for_optional_fields":0.004,"P\\Tests\\Unit\\Models\\HubunganKeluargaTest::__pest_evaluable_it_can_query_hubungan_keluarga_with_complex_filters":0.006,"P\\Tests\\Unit\\Models\\KawinTest::__pest_evaluable_it_can_create_a_kawin":0.005,"P\\Tests\\Unit\\Models\\KawinTest::__pest_evaluable_it_has_fillable_attributes":0.003,"P\\Tests\\Unit\\Models\\KawinTest::__pest_evaluable_it_has_timestamps_disabled":0.003,"P\\Tests\\Unit\\Models\\KawinTest::__pest_evaluable_it_has_correct_table_name":0.003,"P\\Tests\\Unit\\Models\\KawinTest::__pest_evaluable_it_can_handle_null_values_for_optional_fields":0.004,"P\\Tests\\Unit\\Models\\KawinTest::__pest_evaluable_it_can_query_kawin_with_complex_filters":0.009,"P\\Tests\\Unit\\Models\\KeluargaTest::__pest_evaluable_it_can_create_a_keluarga":0.009,"P\\Tests\\Unit\\Models\\KeluargaTest::__pest_evaluable_it_has_fillable_attributes":0.009,"P\\Tests\\Unit\\Models\\KeluargaTest::__pest_evaluable_it_has_timestamps_enabled":0.008,"P\\Tests\\Unit\\Models\\KeluargaTest::__pest_evaluable_it_has_correct_table_name":0.003,"P\\Tests\\Unit\\Models\\KeluargaTest::__pest_evaluable_it_has_cluster_relationship":0.009,"P\\Tests\\Unit\\Models\\KeluargaTest::__pest_evaluable_it_has_kepala__kk_relationship":0.007,"P\\Tests\\Unit\\Models\\KeluargaTest::__pest_evaluable_it_has_desa_relationship":0.007,"P\\Tests\\Unit\\Models\\KeluargaTest::__pest_evaluable_it_can_be_filtered_by_desa__id":0.01,"P\\Tests\\Unit\\Models\\KeluargaTest::__pest_evaluable_it_can_be_filtered_by_dusun":0.011,"P\\Tests\\Unit\\Models\\KeluargaTest::__pest_evaluable_it_can_be_filtered_by_rt":0.011,"P\\Tests\\Unit\\Models\\KeluargaTest::__pest_evaluable_it_can_be_filtered_by_rw":0.012,"P\\Tests\\Unit\\Models\\KeluargaTest::__pest_evaluable_it_can_handle_date_fields_correctly":0.007,"P\\Tests\\Unit\\Models\\KeluargaTest::__pest_evaluable_it_can_handle_unique_no__kk_constraint":0.002,"P\\Tests\\Unit\\Models\\KeluargaTest::__pest_evaluable_it_can_handle_multiple_families_with_same_kepala__kk":0.011,"P\\Tests\\Unit\\Models\\KeluargaTest::__pest_evaluable_it_has_default_values_for_certain_fields":0.006,"P\\Tests\\Unit\\Models\\KeluargaTest::__pest_evaluable_it_can_handle_null_values_for_optional_fields":0.007,"P\\Tests\\Unit\\Models\\KeluargaTest::__pest_evaluable_it_can_query_families_with_complex_filters":0.008,"P\\Tests\\Unit\\Models\\KeluargaTest::__pest_evaluable_it_can_handle_relationships_with_penduduk":0.035,"P\\Tests\\Unit\\Models\\ModelRelationshipsTest::__pest_evaluable_it_user_has_many_otp_tokens":0.006,"P\\Tests\\Unit\\Models\\ModelRelationshipsTest::__pest_evaluable_it_user_belongs_to_roles":0.023,"P\\Tests\\Unit\\Models\\ModelRelationshipsTest::__pest_evaluable_it_user_has_permissions_through_roles":0.096,"P\\Tests\\Unit\\Models\\ModelRelationshipsTest::__pest_evaluable_it_data_desa_has_many_penduduk":0.005,"P\\Tests\\Unit\\Models\\ModelRelationshipsTest::__pest_evaluable_it_data_desa_has_many_keluarga":0.006,"P\\Tests\\Unit\\Models\\ModelRelationshipsTest::__pest_evaluable_it_penduduk_belongs_to_data_desa":0.021,"P\\Tests\\Unit\\Models\\ModelRelationshipsTest::__pest_evaluable_it_penduduk_belongs_to_keluarga":0.021,"P\\Tests\\Unit\\Models\\ModelRelationshipsTest::__pest_evaluable_it_penduduk_belongs_to_pekerjaan":0.019,"P\\Tests\\Unit\\Models\\ModelRelationshipsTest::__pest_evaluable_it_penduduk_belongs_to_pendidikan_kk":0.019,"P\\Tests\\Unit\\Models\\ModelRelationshipsTest::__pest_evaluable_it_penduduk_belongs_to_status_kawin":0.02,"P\\Tests\\Unit\\Models\\ModelRelationshipsTest::__pest_evaluable_it_keluarga_belongs_to_data_desa":0.007,"P\\Tests\\Unit\\Models\\ModelRelationshipsTest::__pest_evaluable_it_keluarga_has_one_kepala_keluarga":0.022,"P\\Tests\\Unit\\Models\\ModelRelationshipsTest::__pest_evaluable_it_can_traverse_complex_relationships":0.023,"P\\Tests\\Unit\\Models\\ModelRelationshipsTest::__pest_evaluable_it_handles_null_relationships_gracefully":0.017,"P\\Tests\\Unit\\Models\\ModelRelationshipsTest::__pest_evaluable_it_eager_loads_relationships_efficiently":0.026,"P\\Tests\\Unit\\Models\\ModelRelationshipsTest::__pest_evaluable_it_counts_relationships_correctly":0.064,"P\\Tests\\Unit\\Models\\ModelRelationshipsTest::__pest_evaluable_it_queries_relationships_with_constraints":0.058,"P\\Tests\\Unit\\Models\\ModelRelationshipsTest::__pest_evaluable_it_handles_relationship_deletion":0.022,"P\\Tests\\Unit\\Models\\ModelRelationshipsTest::__pest_evaluable_it_tests_polymorphic_relationships_if_they_exist":0.005,"P\\Tests\\Unit\\Models\\ModelScopesTest::__pest_evaluable_it_can_filter_users_by_role":0.021,"P\\Tests\\Unit\\Models\\ModelScopesTest::__pest_evaluable_it_can_filter_users_by_permission":0.098,"P\\Tests\\Unit\\Models\\ModelScopesTest::__pest_evaluable_it_can_filter_penduduk_by_hidup_scope":0.031,"P\\Tests\\Unit\\Models\\ModelScopesTest::__pest_evaluable_it_can_filter_penduduk_by_sex":0.03,"P\\Tests\\Unit\\Models\\ModelScopesTest::__pest_evaluable_it_can_filter_penduduk_by_age_range":0.041,"P\\Tests\\Unit\\Models\\ModelScopesTest::__pest_evaluable_it_can_filter_keluarga_by_dusun":0.009,"P\\Tests\\Unit\\Models\\ModelScopesTest::__pest_evaluable_it_can_filter_keluarga_by_RT_and_RW":0.012,"P\\Tests\\Unit\\Models\\ModelScopesTest::__pest_evaluable_it_can_filter_settings_by_category":0.01,"P\\Tests\\Unit\\Models\\ModelScopesTest::__pest_evaluable_it_can_filter_settings_by_type":0.009,"P\\Tests\\Unit\\Models\\ModelScopesTest::__pest_evaluable_it_can_filter_OTP_tokens_by_user":0.019,"P\\Tests\\Unit\\Models\\ModelScopesTest::__pest_evaluable_it_can_filter_OTP_tokens_by_purpose":0.015,"P\\Tests\\Unit\\Models\\ModelScopesTest::__pest_evaluable_it_can_filter_OTP_tokens_by_channel":0.011,"P\\Tests\\Unit\\Models\\ModelScopesTest::__pest_evaluable_it_can_combine_multiple_scopes":0.04,"P\\Tests\\Unit\\Models\\ModelScopesTest::__pest_evaluable_it_can_mutate_attributes_before_saving":0.022,"P\\Tests\\Unit\\Models\\ModelScopesTest::__pest_evaluable_it_can_mutate_NIK_before_saving":0.02,"P\\Tests\\Unit\\Models\\PekerjaanTest::__pest_evaluable_it_can_create_a_pekerjaan":0.005,"P\\Tests\\Unit\\Models\\PekerjaanTest::__pest_evaluable_it_has_fillable_attributes":0.003,"P\\Tests\\Unit\\Models\\PekerjaanTest::__pest_evaluable_it_has_timestamps_disabled":0.003,"P\\Tests\\Unit\\Models\\PekerjaanTest::__pest_evaluable_it_has_correct_table_name":0.004,"P\\Tests\\Unit\\Models\\PekerjaanTest::__pest_evaluable_it_can_handle_null_values_for_optional_fields":0.004,"P\\Tests\\Unit\\Models\\PekerjaanTest::__pest_evaluable_it_can_query_pekerjaan_with_complex_filters":0.006,"P\\Tests\\Unit\\Models\\PembangunanTest::__pest_evaluable_it_returns_plain_text_when_sumber__dana_is_a_regular_string":0.003,"P\\Tests\\Unit\\Models\\PembangunanTest::__pest_evaluable_it_returns_comma_separated_text_when_sumber__dana_is_a_JSON_array":0.003,"P\\Tests\\Unit\\Models\\PembangunanTest::__pest_evaluable_it_returns_single_value_when_JSON_array_has_one_item":0.003,"P\\Tests\\Unit\\Models\\PembangunanTest::__pest_evaluable_it_returns_dash_when_sumber__dana_is_empty_string":0.003,"P\\Tests\\Unit\\Models\\PembangunanTest::__pest_evaluable_it_returns_dash_when_sumber__dana_is_null":0.003,"P\\Tests\\Unit\\Models\\PembangunanTest::__pest_evaluable_it_returns_array_from_JSON_array_for_sumber__dana__list":0.003,"P\\Tests\\Unit\\Models\\PembangunanTest::__pest_evaluable_it_returns_single_item_array_for_plain_text_sumber__dana__list":0.004,"P\\Tests\\Unit\\Models\\PembangunanTest::__pest_evaluable_it_returns_empty_array_when_sumber__dana_is_empty_for_list":0.003,"P\\Tests\\Unit\\Models\\PembangunanTest::__pest_evaluable_it_returns_empty_array_when_sumber__dana_is_null_for_list":0.003,"P\\Tests\\Unit\\Models\\PembangunanTest::__pest_evaluable_it_uses_sumber__dana__formatted_in_export":0.008,"P\\Tests\\Unit\\Models\\PembangunanTest::__pest_evaluable_it_uses_original_value_in_export_when_sumber__dana_is_not_JSON":0.007,"P\\Tests\\Unit\\Models\\PendidikanKKTest::__pest_evaluable_it_can_create_a_pendidikan_kk":0.004,"P\\Tests\\Unit\\Models\\PendidikanKKTest::__pest_evaluable_it_has_fillable_attributes":0.003,"P\\Tests\\Unit\\Models\\PendidikanKKTest::__pest_evaluable_it_has_timestamps_disabled":0.003,"P\\Tests\\Unit\\Models\\PendidikanKKTest::__pest_evaluable_it_has_correct_table_name":0.004,"P\\Tests\\Unit\\Models\\PendidikanKKTest::__pest_evaluable_it_handles_unique_constraint_on_nama":0.002,"P\\Tests\\Unit\\Models\\PendidikanKKTest::__pest_evaluable_it_can_handle_null_values_for_optional_fields":0.003,"P\\Tests\\Unit\\Models\\PendidikanKKTest::__pest_evaluable_it_can_query_pendidikan_kk_with_complex_filters":0.007,"P\\Tests\\Unit\\Models\\PendidikanTest::__pest_evaluable_it_can_create_a_pendidikan":0.004,"P\\Tests\\Unit\\Models\\PendidikanTest::__pest_evaluable_it_has_fillable_attributes":0.003,"P\\Tests\\Unit\\Models\\PendidikanTest::__pest_evaluable_it_has_timestamps_disabled":0.003,"P\\Tests\\Unit\\Models\\PendidikanTest::__pest_evaluable_it_has_correct_table_name":0.003,"P\\Tests\\Unit\\Models\\PendidikanTest::__pest_evaluable_it_can_handle_null_values_for_optional_fields":0.004,"P\\Tests\\Unit\\Models\\PendidikanTest::__pest_evaluable_it_can_query_pendidikan_with_complex_filters":0.028,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_can_create_a_penduduk":0.029,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_has_guarded_attributes":0.018,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_has_timestamps_enabled":0.02,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_has_correct_table_name":0.003,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_can_get_penduduk_aktif_with_year_filter":0.032,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_can_get_penduduk_aktif_with_desa_filter":0.029,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_has_hidup_scope":0.021,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_has_pekerjaan_relationship":0.02,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_has_pendidikan__kk_relationship":0.026,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_has_keluarga_relationship":0.02,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_has_suplemen__terdata_relationship":0.022,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_has_desa_relationship":0.035,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_has_lembaga_relationship":0.043,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_has_lembagaAnggota_relationship":0.033,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_has_pendudukSex_relationship":0.02,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_can_be_filtered_by_gender":0.03,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_can_be_filtered_by_marital_status":0.029,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_can_be_filtered_by_citizenship":0.03,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_can_be_filtered_by_status_dasar":0.032,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_can_be_filtered_by_pregnancy_status":0.03,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_can_handle_NIK_uniqueness":0.002,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_can_handle_KK_uniqueness":0.033,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_can_handle_date_fields_correctly":0.02,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_can_handle_optional_fields":0.018,"P\\Tests\\Unit\\Models\\PendudukTest::__pest_evaluable_it_can_handle_imported__at_timestamp":0.02,"P\\Tests\\Unit\\Models\\ProfilTest::__pest_evaluable_it_can_create_a_profil":0.008,"P\\Tests\\Unit\\Models\\ProfilTest::__pest_evaluable_it_has_fillable_attributes":0.005,"P\\Tests\\Unit\\Models\\ProfilTest::__pest_evaluable_it_has_timestamps_enabled":0.005,"P\\Tests\\Unit\\Models\\ProfilTest::__pest_evaluable_it_has_correct_table_name":0.003,"P\\Tests\\Unit\\Models\\ProfilTest::__pest_evaluable_it_has_dataUmum_relationship":0.006,"P\\Tests\\Unit\\Models\\ProfilTest::__pest_evaluable_it_has_dataDesa_relationship":0.006,"P\\Tests\\Unit\\Models\\ProfilTest::__pest_evaluable_it_has_strukturOrganisasi_relationship":0.006,"P\\Tests\\Unit\\Models\\ProfilTest::__pest_evaluable_it_clears_cache_when_saved":0.006,"P\\Tests\\Unit\\Models\\ProfilTest::__pest_evaluable_it_clears_cache_when_updated":0.007,"P\\Tests\\Unit\\Models\\ProfilTest::__pest_evaluable_it_clears_cache_when_created":0.005,"P\\Tests\\Unit\\Models\\ProfilTest::__pest_evaluable_it_can_handle_year_fields_correctly":0.006,"P\\Tests\\Unit\\Models\\ProfilTest::__pest_evaluable_it_can_handle_file_fields":0.005,"P\\Tests\\Unit\\Models\\ProfilTest::__pest_evaluable_it_can_handle_text_fields_with_special_characters":0.005,"P\\Tests\\Unit\\Models\\ProfilTest::__pest_evaluable_it_can_handle_null_values_for_optional_fields":0.004,"P\\Tests\\Unit\\Models\\ProfilTest::__pest_evaluable_it_can_query_profiles_with_complex_filters":0.007,"P\\Tests\\Unit\\Models\\ProfilTest::__pest_evaluable_it_can_handle_multiple_data_desa_for_one_profil":0.009,"P\\Tests\\Unit\\Models\\ProfilTest::__pest_evaluable_it_can_handle_cache_tags_flush_on_save":0.006,"P\\Tests\\Unit\\Models\\ProfilTest::__pest_evaluable_it_can_handle_cache_tags_flush_on_update":0.008,"P\\Tests\\Unit\\Models\\ProfilTest::__pest_evaluable_it_can_handle_cache_tags_flush_on_create":0.004,"P\\Tests\\Unit\\Models\\SettingAplikasiTest::__pest_evaluable_it_can_create_a_setting_aplikasi":0.005,"P\\Tests\\Unit\\Models\\SettingAplikasiTest::__pest_evaluable_it_has_fillable_attributes":0.003,"P\\Tests\\Unit\\Models\\SettingAplikasiTest::__pest_evaluable_it_has_timestamps_disabled":0.003,"P\\Tests\\Unit\\Models\\SettingAplikasiTest::__pest_evaluable_it_has_correct_table_name":0.002,"P\\Tests\\Unit\\Models\\SettingAplikasiTest::__pest_evaluable_it_clears_cache_when_saved":0.004,"P\\Tests\\Unit\\Models\\SettingAplikasiTest::__pest_evaluable_it_clears_cache_when_updated":0.005,"P\\Tests\\Unit\\Models\\SettingAplikasiTest::__pest_evaluable_it_triggers_events_on_save_and_update":0.006,"P\\Tests\\Unit\\Models\\SettingAplikasiTest::__pest_evaluable_it_can_handle_different_setting_types":0.006,"P\\Tests\\Unit\\Models\\SettingAplikasiTest::__pest_evaluable_it_can_handle_different_setting_categories":0.005,"P\\Tests\\Unit\\Models\\SettingAplikasiTest::__pest_evaluable_it_can_handle_JSON_options_for_select_type":0.003,"P\\Tests\\Unit\\Models\\SettingAplikasiTest::__pest_evaluable_it_can_handle_unique_key_constraint":0.003,"P\\Tests\\Unit\\Models\\SettingAplikasiTest::__pest_evaluable_it_can_query_settings_by_category":0.007,"P\\Tests\\Unit\\Models\\SettingAplikasiTest::__pest_evaluable_it_can_query_settings_by_type":0.01,"P\\Tests\\Unit\\Models\\SettingAplikasiTest::__pest_evaluable_it_can_handle_complex_values":0.007,"P\\Tests\\Unit\\Models\\SettingAplikasiTest::__pest_evaluable_it_can_handle_long_descriptions":0.004,"P\\Tests\\Unit\\Models\\SettingAplikasiTest::__pest_evaluable_it_can_handle_special_characters_in_values":0.005,"P\\Tests\\Unit\\Models\\SettingAplikasiTest::__pest_evaluable_it_can_handle_bulk_operations":0.017,"P\\Tests\\Unit\\Models\\SettingAplikasiTest::__pest_evaluable_it_can_handle_cache_clearing_on_bulk_operations":0.009,"P\\Tests\\Unit\\Models\\SettingAplikasiTest::__pest_evaluable_it_can_handle_setting_with_empty_options":0.008,"P\\Tests\\Unit\\Models\\SettingAplikasiTest::__pest_evaluable_it_can_handle_setting_with_valid_JSON_options":0.004,"P\\Tests\\Unit\\Models\\UserTest::__pest_evaluable_it_can_create_a_user":0.006,"P\\Tests\\Unit\\Models\\UserTest::__pest_evaluable_it_has_default_password_constant":0.003,"P\\Tests\\Unit\\Models\\UserTest::__pest_evaluable_it_has_fillable_attributes":0.004,"P\\Tests\\Unit\\Models\\UserTest::__pest_evaluable_it_hides_sensitive_attributes":0.006,"P\\Tests\\Unit\\Models\\UserTest::__pest_evaluable_it_casts_attributes_correctly":0.005,"P\\Tests\\Unit\\Models\\UserTest::__pest_evaluable_it_can_assign_roles_using_spatie_permission":0.009,"P\\Tests\\Unit\\Models\\UserTest::__pest_evaluable_it_can_sync_roles_using_spatie_permission":0.011,"P\\Tests\\Unit\\Models\\UserTest::__pest_evaluable_it_can_give_permissions_using_spatie_permission":0.106,"P\\Tests\\Unit\\Models\\UserTest::__pest_evaluable_it_has_pengurus_relationship":0.007,"P\\Tests\\Unit\\Models\\UserTest::__pest_evaluable_it_has_otp_tokens_relationship":0.006,"P\\Tests\\Unit\\Models\\UserTest::__pest_evaluable_it_mutates_password_attribute_when_setting":0.007,"P\\Tests\\Unit\\Models\\UserTest::__pest_evaluable_it_has_foto_accessor":0.005,"P\\Tests\\Unit\\Models\\UserTest::__pest_evaluable_it_has_suspend_scope":0.008,"P\\Tests\\Unit\\Models\\UserTest::__pest_evaluable_it_implements_JWT_subject_interface":0.005,"P\\Tests\\Unit\\Models\\WarganegaraTest::__pest_evaluable_it_can_create_a_warganegara":0.004,"P\\Tests\\Unit\\Models\\WarganegaraTest::__pest_evaluable_it_has_fillable_attributes":0.003,"P\\Tests\\Unit\\Models\\WarganegaraTest::__pest_evaluable_it_has_timestamps_disabled":0.004,"P\\Tests\\Unit\\Models\\WarganegaraTest::__pest_evaluable_it_has_correct_table_name":0.003,"P\\Tests\\Unit\\Models\\WarganegaraTest::__pest_evaluable_it_has_many_penduduk_relationship":0.005,"P\\Tests\\Unit\\Models\\WarganegaraTest::__pest_evaluable_it_handles_unique_constraint_on_nama":0.003,"P\\Tests\\Unit\\Models\\WarganegaraTest::__pest_evaluable_it_can_handle_null_values_for_optional_fields":0.005,"P\\Tests\\Unit\\OtpServiceTest::__pest_evaluable_generate_otp_code_returns_six_digits":0.003,"P\\Tests\\Unit\\OtpServiceTest::__pest_evaluable_generate_and_save_creates_otp_token":0.009,"P\\Tests\\Unit\\OtpServiceTest::__pest_evaluable_generate_and_save_deletes_old_tokens":0.01,"P\\Tests\\Unit\\OtpServiceTest::__pest_evaluable_verify_otp_with_valid_code_succeeds":0.011,"P\\Tests\\Unit\\OtpServiceTest::__pest_evaluable_verify_otp_with_invalid_code_fails":0.042,"P\\Tests\\Unit\\OtpServiceTest::__pest_evaluable_verify_otp_increments_attempts":0.01,"P\\Tests\\Unit\\OtpServiceTest::__pest_evaluable_verify_otp_fails_with_expired_token":0.009,"P\\Tests\\Unit\\OtpServiceTest::__pest_evaluable_otp_token_is_expired_method":0.007,"P\\Tests\\Unit\\OtpServiceTest::__pest_evaluable_otp_token_valid_scope":0.011,"Tests\\Unit\\SecureFileUploadTest::test_validasi_pass_untuk_file_valid":0.041,"Tests\\Unit\\SecureFileUploadTest::test_tolak_ekstensi_berbahaya_php":0.004,"Tests\\Unit\\SecureFileUploadTest::test_tolak_ekstensi_berbahaya_exe":0.004,"Tests\\Unit\\SecureFileUploadTest::test_tolak_mime_type_tidak_sesuai":0.003,"Tests\\Unit\\SecureFileUploadTest::test_tolak_file_terlalu_besar":0.004,"Tests\\Unit\\SecureFileUploadTest::test_tolak_bukan_uploaded_file":0.003,"Tests\\Unit\\SecureFileUploadTest::test_semua_ekstensi_berbahaya_ditolak":0.014,"P\\Tests\\Unit\\Services\\ApiServiceTest::__pest_evaluable_it_can_instantiate_api_service":0.005,"P\\Tests\\Unit\\Services\\ApiServiceTest::__pest_evaluable_it_can_register_customer_successfully":0.024,"P\\Tests\\Unit\\Services\\ApiServiceTest::__pest_evaluable_it_handles_registration_failure":0.009,"P\\Tests\\Unit\\Services\\ApiServiceTest::__pest_evaluable_it_handles_registration_network_error":0.011,"P\\Tests\\Unit\\Services\\ApiServiceTest::__pest_evaluable_it_can_get_registered_customers":0.005,"P\\Tests\\Unit\\Services\\ApiServiceTest::__pest_evaluable_it_handles_get_registered_customers_failure":0.004,"P\\Tests\\Unit\\Services\\ApiServiceTest::__pest_evaluable_it_can_get_registration_form":0.006,"P\\Tests\\Unit\\Services\\ApiServiceTest::__pest_evaluable_it_handles_get_registration_form_failure":0.004,"P\\Tests\\Unit\\Services\\ApiServiceTest::__pest_evaluable_it_handles_missing_layanan__opendesa__token_setting":0.004,"P\\Tests\\Unit\\Services\\CacheServiceTest::__pest_evaluable_it_can_instantiate_cache_service":0.004,"P\\Tests\\Unit\\Services\\CacheServiceTest::__pest_evaluable_it_can_store_cache_key_in_database":0.007,"P\\Tests\\Unit\\Services\\CacheServiceTest::__pest_evaluable_it_extracts_prefix_from_key_if_not_provided":0.006,"P\\Tests\\Unit\\Services\\CacheServiceTest::__pest_evaluable_it_uses_default_prefix_if_key_has_no_colon":0.006,"P\\Tests\\Unit\\Services\\CacheServiceTest::__pest_evaluable_it_does_not_store_duplicate_cache_keys":0.008,"P\\Tests\\Unit\\Services\\CacheServiceTest::__pest_evaluable_it_does_not_store_already_tracked_keys_in_memory":0.005,"P\\Tests\\Unit\\Services\\CacheServiceTest::__pest_evaluable_it_can_get_cache_value":0.011,"P\\Tests\\Unit\\Services\\CacheServiceTest::__pest_evaluable_it_can_put_cache_value_with_tracking":0.008,"P\\Tests\\Unit\\Services\\CacheServiceTest::__pest_evaluable_it_can_put_cache_value_forever_with_tracking":0.007,"P\\Tests\\Unit\\Services\\CacheServiceTest::__pest_evaluable_it_can_remember_cache_value":0.007,"P\\Tests\\Unit\\Services\\CacheServiceTest::__pest_evaluable_it_can_remember_existing_cache_value":0.003,"P\\Tests\\Unit\\Services\\CacheServiceTest::__pest_evaluable_it_can_remember_cache_value_forever":0.011,"P\\Tests\\Unit\\Services\\CacheServiceTest::__pest_evaluable_it_can_remember_existing_cache_value_forever":0.003,"P\\Tests\\Unit\\Services\\CacheServiceTest::__pest_evaluable_it_can_remove_cache_by_prefix":0.01,"P\\Tests\\Unit\\Services\\CacheServiceTest::__pest_evaluable_it_uses_default_prefix_when_none_provided":0.005,"P\\Tests\\Unit\\Services\\CacheServiceTest::__pest_evaluable_it_can_remove_cache_by_group":0.008,"P\\Tests\\Unit\\Services\\CacheServiceTest::__pest_evaluable_it_can_remove_cache_by_key":0.005,"P\\Tests\\Unit\\Services\\CacheServiceTest::__pest_evaluable_it_handles_errors_when_removing_cache_by_key":0.005,"P\\Tests\\Unit\\Services\\DesaServiceTest::__pest_evaluable_it_can_instantiate_desa_service":0.006,"P\\Tests\\Unit\\Services\\DesaServiceTest::__pest_evaluable_it_can_get_list_of_desa":0.005,"P\\Tests\\Unit\\Services\\DesaServiceTest::__pest_evaluable_it_can_get_list_of_desa_with_all_parameter":0.005,"P\\Tests\\Unit\\Services\\DesaServiceTest::__pest_evaluable_it_can_get_specific_desa_by_slug_when_not_using_database_gabungan":0.006,"P\\Tests\\Unit\\Services\\DesaServiceTest::__pest_evaluable_it_can_get_specific_desa_by_slug_when_using_database_gabungan":0.01,"P\\Tests\\Unit\\Services\\DesaServiceTest::__pest_evaluable_it_can_get_desa_by_kode":0.006,"P\\Tests\\Unit\\Services\\DesaServiceTest::__pest_evaluable_it_returns_null_when_desa_by_kode_not_found":0.004,"P\\Tests\\Unit\\Services\\DesaServiceTest::__pest_evaluable_it_can_get_jumlah_desa":0.019,"P\\Tests\\Unit\\Services\\DesaServiceTest::__pest_evaluable_it_can_get_path_desa_list":0.004,"P\\Tests\\Unit\\Services\\DesaServiceTest::__pest_evaluable_it_can_call_desa_method_with_filters":0.025,"P\\Tests\\Unit\\Services\\DesaServiceTest::__pest_evaluable_it_handles_empty_results_gracefully":0.015,"P\\Tests\\Unit\\Services\\DesaServiceTest::__pest_evaluable_it_caches_list_desa_when_using_database_gabungan":0.007,"P\\Tests\\Unit\\Services\\DesaServiceTest::__pest_evaluable_it_returns_cached_list_desa_when_available":0.007,"P\\Tests\\Unit\\Services\\DesaServiceTest::__pest_evaluable_it_transforms_API_response_correctly":0.008,"P\\Tests\\Unit\\Services\\DesaServiceTest::__pest_evaluable_it_handles_null_values_in_API_response":0.007,"P\\Tests\\Unit\\Services\\DesaServiceTest::__pest_evaluable_it_can_get_jumlah_desa_with_filters":0.008,"P\\Tests\\Unit\\Services\\DesaServiceTest::__pest_evaluable_it_returns_0_when_jumlah_desa_API_fails":0.01,"P\\Tests\\Unit\\Services\\DesaServiceTest::__pest_evaluable_it_handles_malformed_API_response_for_jumlah_desa":0.007,"P\\Tests\\Unit\\Services\\DesaServiceTest::__pest_evaluable_it_can_get_path_desa_list_when_using_database_gabungan":0.009,"P\\Tests\\Unit\\Services\\DesaServiceTest::__pest_evaluable_it_can_get_path_desa_list_when_not_using_database_gabungan":0.007,"P\\Tests\\Unit\\Services\\KeluargaServiceTest::__pest_evaluable_it_can_instantiate_keluarga_service":0.004,"P\\Tests\\Unit\\Services\\KeluargaServiceTest::__pest_evaluable_it_can_get_keluarga_by_ID_from_API":0.006,"P\\Tests\\Unit\\Services\\KeluargaServiceTest::__pest_evaluable_it_handles_missing_attributes_in_keluarga_data":0.006,"P\\Tests\\Unit\\Services\\KeluargaServiceTest::__pest_evaluable_it_can_get_jumlah_keluarga_from_API":0.005,"P\\Tests\\Unit\\Services\\KeluargaServiceTest::__pest_evaluable_it_returns_0_when_API_response_has_no_total":0.004,"P\\Tests\\Unit\\Services\\KeluargaServiceTest::__pest_evaluable_it_can_export_keluarga_data_from_API":0.005,"P\\Tests\\Unit\\Services\\KeluargaServiceTest::__pest_evaluable_it_handles_missing_attributes_in_export_data":0.005,"P\\Tests\\Unit\\Services\\KeluargaServiceTest::__pest_evaluable_it_handles_dash_in_tgl__cetak__kk_field":0.005,"P\\Tests\\Unit\\Services\\KeluargaServiceTest::__pest_evaluable_it_can_apply_filters_to_jumlah_keluarga":0.005,"P\\Tests\\Unit\\Services\\KeluargaServiceTest::__pest_evaluable_it_can_export_keluarga_with_custom_parameters":0.005,"P\\Tests\\Unit\\Services\\KeluargaServiceTest::__pest_evaluable_it_can_export_all_keluarga_data":0.006,"P\\Tests\\Unit\\Services\\KeluargaServiceTest::__pest_evaluable_it_handles_empty_API_response_for_keluarga":0.005,"P\\Tests\\Unit\\Services\\KeluargaServiceTest::__pest_evaluable_it_handles_API_errors_gracefully":0.005,"P\\Tests\\Unit\\Services\\KeluargaServiceTest::__pest_evaluable_it_can_export_keluarga_with_null_timestamps":0.005,"P\\Tests\\Unit\\Services\\OtpServiceTest::__pest_evaluable_it_can_instantiate_otp_service":0.003,"P\\Tests\\Unit\\Services\\OtpServiceTest::__pest_evaluable_it_generates_a_valid_OTP_code":0.002,"P\\Tests\\Unit\\Services\\OtpServiceTest::__pest_evaluable_it_generates_unique_OTP_codes":0.003,"P\\Tests\\Unit\\Services\\OtpServiceTest::__pest_evaluable_it_generates_and_saves_OTP_token":0.011,"P\\Tests\\Unit\\Services\\OtpServiceTest::__pest_evaluable_it_deletes_old_tokens_when_generating_new_one":0.012,"P\\Tests\\Unit\\Services\\OtpServiceTest::__pest_evaluable_it_verifies_correct_OTP_token":0.013,"P\\Tests\\Unit\\Services\\OtpServiceTest::__pest_evaluable_it_rejects_invalid_OTP_token":0.013,"P\\Tests\\Unit\\Services\\OtpServiceTest::__pest_evaluable_it_rejects_expired_OTP_token":0.008,"P\\Tests\\Unit\\Services\\OtpServiceTest::__pest_evaluable_it_rejects_OTP_when_max_attempts_reached":0.011,"P\\Tests\\Unit\\Services\\OtpServiceTest::__pest_evaluable_it_increments_attempts_on_wrong_OTP":0.012,"P\\Tests\\Unit\\Services\\OtpServiceTest::__pest_evaluable_it_supports_different_purposes":0.017,"P\\Tests\\Unit\\Services\\OtpServiceTest::__pest_evaluable_it_provides_appropriate_messages_for_different_purposes":0.022,"P\\Tests\\Unit\\Services\\OtpServiceTest::__pest_evaluable_it_can_send_OTP_via_email":0.009,"P\\Tests\\Unit\\Services\\OtpServiceTest::__pest_evaluable_it_handles_email_sending_failure":0.008,"P\\Tests\\Unit\\Services\\OtpServiceTest::__pest_evaluable_it_can_send_OTP_via_Telegram":0.006,"P\\Tests\\Unit\\Services\\OtpServiceTest::__pest_evaluable_it_handles_missing_Telegram_bot_token":0.006,"P\\Tests\\Unit\\Services\\OtpServiceTest::__pest_evaluable_it_handles_Telegram_API_failure":0.01,"P\\Tests\\Unit\\Services\\OtpServiceTest::__pest_evaluable_it_formats_Telegram_message_correctly":0.003,"P\\Tests\\Unit\\Services\\OtpServiceTest::__pest_evaluable_it_can_generate_and_send_OTP_via_email":0.009,"P\\Tests\\Unit\\Services\\OtpServiceTest::__pest_evaluable_it_can_generate_and_send_OTP_via_Telegram":0.01,"P\\Tests\\Unit\\Services\\OtpServiceTest::__pest_evaluable_it_handles_unsupported_channel":0.009,"P\\Tests\\Unit\\Services\\OtpServiceTest::__pest_evaluable_it_cleans_up_expired_OTP_tokens":0.013,"P\\Tests\\Unit\\Services\\OtpServiceTest::__pest_evaluable_it_can_verify_Telegram_chat_ID":0.004,"P\\Tests\\Unit\\Services\\OtpServiceTest::__pest_evaluable_it_handles_invalid_Telegram_chat_ID":0.004,"P\\Tests\\Unit\\Services\\OtpServiceTest::__pest_evaluable_it_handles_missing_Telegram_bot_token_when_verifying_chat_ID":0.002,"P\\Tests\\Unit\\Services\\OtpServiceTest::__pest_evaluable_it_prevents_multiple_verifications_of_same_OTP":0.012,"P\\Tests\\Unit\\Services\\OtpServiceTest::__pest_evaluable_it_handles_non_existent_token_verification":0.007,"P\\Tests\\Unit\\Services\\OtpServiceTest::__pest_evaluable_it_respects_custom_expiry_time":0.008,"P\\Tests\\Unit\\Services\\OtpServiceTest::__pest_evaluable_it_logs_errors_when_sending_email_fails":0.006,"P\\Tests\\Unit\\Services\\PendudukServiceTest::__pest_evaluable_it_can_instantiate_penduduk_service":0.004,"P\\Tests\\Unit\\Services\\PendudukServiceTest::__pest_evaluable_it_can_get_jumlah_penduduk_from_API":0.005,"P\\Tests\\Unit\\Services\\PendudukServiceTest::__pest_evaluable_it_returns_0_when_API_response_has_no_total":0.004,"P\\Tests\\Unit\\Services\\PendudukServiceTest::__pest_evaluable_it_can_get_desa_list_from_API":0.004,"P\\Tests\\Unit\\Services\\PendudukServiceTest::__pest_evaluable_it_can_export_penduduk_data_from_API":0.005,"P\\Tests\\Unit\\Services\\PendudukServiceTest::__pest_evaluable_it_can_check_penduduk_by_NIK_and_birth_date":0.004,"P\\Tests\\Unit\\Services\\PendudukServiceTest::__pest_evaluable_it_returns_null_when_penduduk_not_found_by_NIK":0.004,"P\\Tests\\Unit\\Services\\PendudukServiceTest::__pest_evaluable_it_returns_null_when_API_request_fails":0.004,"P\\Tests\\Unit\\Services\\PendudukServiceTest::__pest_evaluable_it_handles_exceptions_gracefully":0.004,"P\\Tests\\Unit\\Services\\PendudukServiceTest::__pest_evaluable_it_can_get_detail_penduduk_when_API_returns_single_object":0.004,"P\\Tests\\Unit\\Services\\PendudukServiceTest::__pest_evaluable_it_can_get_detail_penduduk_when_API_returns_array":0.005,"P\\Tests\\Unit\\Services\\PendudukServiceTest::__pest_evaluable_it_returns_null_when_penduduk_not_found":0.005,"P\\Tests\\Unit\\Services\\PendudukServiceTest::__pest_evaluable_it_returns_null_when_API_returns_empty":0.004,"P\\Tests\\Unit\\Services\\PendudukServiceTest::__pest_evaluable_it_can_apply_filters_to_jumlah_penduduk":0.004,"P\\Tests\\Unit\\Services\\PendudukServiceTest::__pest_evaluable_it_can_apply_filters_to_desa_list":0.003,"P\\Tests\\Unit\\Services\\PendudukServiceTest::__pest_evaluable_it_can_export_penduduk_with_pagination":0.004,"P\\Tests\\Unit\\Services\\PendudukServiceTest::__pest_evaluable_it_can_export_penduduk_with_search_term":0.005,"P\\Tests\\Unit\\Services\\PendudukServiceTest::__pest_evaluable_it_handles_missing_attributes_in_export_data":0.004,"P\\Tests\\Unit\\ThemesControllerSecurityTest::__pest_evaluable_scanZipForPhp_rejects_ZIP_containing__php_file":0.027,"P\\Tests\\Unit\\ThemesControllerSecurityTest::__pest_evaluable_scanZipForPhp_allows_clean_ZIP_without_PHP_files":0.014,"P\\Tests\\Unit\\ThemesControllerSecurityTest::__pest_evaluable_scanZipForPhp_rejects_PHP_file_in_subfolder":0.023,"P\\Tests\\Unit\\ThemesControllerSecurityTest::__pest_evaluable_validateHooksSource_rejects_system___call":0.003,"P\\Tests\\Unit\\ThemesControllerSecurityTest::__pest_evaluable_validateHooksSource_rejects_exec___call":0.003,"P\\Tests\\Unit\\ThemesControllerSecurityTest::__pest_evaluable_validateHooksSource_rejects_eval___call":0.002,"P\\Tests\\Unit\\ThemesControllerSecurityTest::__pest_evaluable_validateHooksSource_rejects_file__put__contents___call":0.003,"P\\Tests\\Unit\\ThemesControllerSecurityTest::__pest_evaluable_validateHooksSource_rejects_shell__exec___call":0.003,"P\\Tests\\Unit\\ThemesControllerSecurityTest::__pest_evaluable_validateHooksSource_allows_harmless_function_declaration":0.002,"P\\Tests\\Unit\\ThemesControllerSecurityTest::__pest_evaluable_validateHooksSource_allows_array_return":0.003,"P\\Tests\\Unit\\ThemesControllerSecurityTest::__pest_evaluable_validateHooksSource_rejects_inline_HTML":0.002,"P\\Tests\\Unit\\TwoFactorServiceTest::__pest_evaluable_generate_and_send_creates_otp_token_for_2fa_activation":0.023,"P\\Tests\\Unit\\TwoFactorServiceTest::__pest_evaluable_generate_and_send_creates_otp_token_for_2fa_login":0.009,"P\\Tests\\Unit\\TwoFactorServiceTest::__pest_evaluable_verify_otp_with_valid_code_for_2fa_activation_succeeds":0.009,"P\\Tests\\Unit\\TwoFactorServiceTest::__pest_evaluable_verify_otp_with_valid_code_for_2fa_login_succeeds":0.01,"P\\Tests\\Unit\\TwoFactorServiceTest::__pest_evaluable_verify_otp_with_invalid_code_for_2fa_activation_fails":0.01,"P\\Tests\\Unit\\TwoFactorServiceTest::__pest_evaluable_verify_otp_with_invalid_code_for_2fa_login_fails":0.01,"P\\Tests\\Unit\\TwoFactorServiceTest::__pest_evaluable_verify_otp_fails_after_max_attempts_for_2fa_activation":0.019,"P\\Tests\\Unit\\TwoFactorServiceTest::__pest_evaluable_verify_otp_fails_after_max_attempts_for_2fa_login":0.018,"P\\Tests\\Unit\\TwoFactorServiceTest::__pest_evaluable_verify_otp_fails_with_expired_token_for_2fa_activation":0.009,"P\\Tests\\Unit\\TwoFactorServiceTest::__pest_evaluable_verify_otp_fails_with_expired_token_for_2fa_login":0.01,"P\\Tests\\Unit\\TwoFactorServiceTest::__pest_evaluable_otp_token_relationship_with_user_for_2fa":0.012,"P\\Tests\\Feature\\AKIAKBExportTest::__pest_evaluable_export_excel_aki_akb":0.482,"P\\Tests\\Feature\\AKIAKBExportTest::__pest_evaluable_export_aki_akb_headings":0.003,"P\\Tests\\Feature\\AKIAKBExportTest::__pest_evaluable_export_aki_akb_data":0.009,"P\\Tests\\Feature\\AKIAKBExportTest::__pest_evaluable_export_aki_akb_mapping":0.01,"P\\Tests\\Feature\\AKIAKBExportTest::__pest_evaluable_export_aki_akb_no_data":0.004,"P\\Tests\\Feature\\AKIAKBExportTest::__pest_evaluable_export_aki_akb_with_desa__id_filter":0.012,"P\\Tests\\Feature\\AKIAKBExportTest::__pest_evaluable_export_aki_akb_with_bulan_filter":0.009,"P\\Tests\\Feature\\AKIAKBExportTest::__pest_evaluable_export_aki_akb_with_tahun_filter":0.009,"P\\Tests\\Feature\\AKIAKBExportTest::__pest_evaluable_export_aki_akb_with_combined_filters":0.01,"P\\Tests\\Feature\\AKIAKBExportTest::__pest_evaluable_export_aki_akb_dengan_filter_Semua_for_desa__id":0.013,"P\\Tests\\Feature\\AKIAKBExportTest::__pest_evaluable_export_aki_akb_dengan_filter_Semua_for_bulan":0.01,"P\\Tests\\Feature\\AKIAKBExportTest::__pest_evaluable_export_aki_akb_dengan_filter_Semua_for_tahun":0.009,"P\\Tests\\Feature\\AKIAKBExportTest::__pest_evaluable_export_aki_akb_with_empty_filter":0.009,"P\\Tests\\Feature\\AKIAKBExportTest::__pest_evaluable_export_aki_akb_with_non__existent_desa__id_filter":0.009,"P\\Tests\\Feature\\AKIAKBExportTest::__pest_evaluable_export_aki_akb_with_non__existent_bulan_filter":0.008,"P\\Tests\\Feature\\AKIAKBExportTest::__pest_evaluable_export_aki_akb_with_non__existent_tahun_filter":0.007,"P\\Tests\\Feature\\AKIAKBExportTest::__pest_evaluable_export_aki_akb_filter_preserves_relationships":0.009,"P\\Tests\\Feature\\AdminKomplainControllerTest::__pest_evaluable_index":1.059,"P\\Tests\\Feature\\AdminKomplainControllerTest::__pest_evaluable_get_data_komplain":0.865,"P\\Tests\\Feature\\AdminKomplainControllerTest::__pest_evaluable_disetujui":0.713,"P\\Tests\\Feature\\AdminKomplainControllerTest::__pest_evaluable_anonim":0.694,"P\\Tests\\Feature\\AdminKomplainControllerTest::__pest_evaluable_show":1.437,"P\\Tests\\Feature\\AdminKomplainControllerTest::__pest_evaluable_edit":1.1,"P\\Tests\\Feature\\AdminKomplainControllerTest::__pest_evaluable_update":0.726,"P\\Tests\\Feature\\AdminKomplainControllerTest::__pest_evaluable_update_komentar":0.712,"P\\Tests\\Feature\\AdminKomplainControllerTest::__pest_evaluable_statistik":0.881,"P\\Tests\\Feature\\AdminKomplainControllerTest::__pest_evaluable_get_komentar":0.745,"P\\Tests\\Feature\\AdminKomplainControllerTest::__pest_evaluable_destroy":0.709,"P\\Tests\\Feature\\AdminKomplainControllerTest::__pest_evaluable_delete_komentar":0.71,"P\\Tests\\Feature\\AlbumControllerTest::__pest_evaluable_display_the_album_index_page":0.999,"P\\Tests\\Feature\\AlbumControllerTest::__pest_evaluable_create_an_album":0.713,"P\\Tests\\Feature\\AlbumControllerTest::__pest_evaluable_update_an_album":0.708,"P\\Tests\\Feature\\AlbumControllerTest::__pest_evaluable_delete_an_album":0.798,"P\\Tests\\Feature\\AlbumControllerTest::__pest_evaluable_toggle_album_status":0.71,"P\\Tests\\Feature\\AnggaranDesaExportTest::__pest_evaluable_export_excel_anggaran_desa":0.395,"P\\Tests\\Feature\\AnggaranDesaExportTest::__pest_evaluable_export_excel_anggaran_desa_with_desa_filter":0.379,"P\\Tests\\Feature\\AnggaranDesaExportTest::__pest_evaluable_export_anggaran_desa_local_database_no_filter":0.012,"P\\Tests\\Feature\\AnggaranDesaExportTest::__pest_evaluable_export_anggaran_desa_local_database_with_desa_filter":0.012,"P\\Tests\\Feature\\AnggaranDesaExportTest::__pest_evaluable_export_anggaran_desa_with_semua_filter":0.011,"Tests\\Feature\\AnggaranRealisasiExportTest::test_dependencies_are_working":0.02,"Tests\\Feature\\AnggaranRealisasiExportTest::test_unauthorized_access_denied":0.493,"Tests\\Feature\\AnggaranRealisasiExportTest::test_export_functionality_unit":0.022,"Tests\\Feature\\AnggaranRealisasiExportTest::test_export_with_various_budget_scenarios":0.457,"Tests\\Feature\\AnggaranRealisasiExportTest::test_export_handles_edge_cases":0.442,"Tests\\Feature\\AnggaranRealisasiExportTest::test_export_data_validation":0.024,"Tests\\Feature\\AnggaranRealisasiExportTest::test_export_number_formatting":0.024,"Tests\\Feature\\AnggaranRealisasiExportTest::test_months_list_integration":0.022,"P\\Tests\\Feature\\Api\\AuthApiTest::__pest_evaluable_user_can_login_with_valid_credentials":0.403,"P\\Tests\\Feature\\Api\\AuthApiTest::__pest_evaluable_user_cannot_login_with_invalid_credentials":0.322,"P\\Tests\\Feature\\Api\\AuthApiTest::__pest_evaluable_user_cannot_login_if_not_admin_desa_or_super_admin":0.44,"P\\Tests\\Feature\\Api\\AuthApiTest::__pest_evaluable_authenticated_user_can_get_their_profile":0.319,"P\\Tests\\Feature\\Api\\AuthApiTest::__pest_evaluable_user_can_refresh_their_token":0.338,"P\\Tests\\Feature\\Api\\AuthApiTest::__pest_evaluable_user_can_logout":0.386,"P\\Tests\\Feature\\Api\\AuthApiTest::__pest_evaluable_unauthenticated_user_cannot_access_me_endpoint":0.321,"P\\Tests\\Feature\\Api\\Frontend\\KomplainControllerTest::__pest_evaluable_index_returns_paginated_complaints":0.318,"P\\Tests\\Feature\\Api\\Frontend\\KomplainControllerTest::__pest_evaluable_index_with_filters":0.309,"P\\Tests\\Feature\\Api\\Frontend\\KomplainControllerTest::__pest_evaluable_index_with_pagination":0.306,"P\\Tests\\Feature\\Api\\Frontend\\KomplainControllerTest::__pest_evaluable_store_with_valid_data":0.348,"P\\Tests\\Feature\\Api\\Frontend\\KomplainControllerTest::__pest_evaluable_store_with_invalid_data":0.323,"P\\Tests\\Feature\\Api\\Frontend\\KomplainControllerTest::__pest_evaluable_store_when_penduduk_not_found":0.358,"P\\Tests\\Feature\\Api\\Frontend\\KomplainControllerTest::__pest_evaluable_store_with_database_gabungan_enabled":0.345,"P\\Tests\\Feature\\Api\\Frontend\\KomplainControllerTest::__pest_evaluable_store_with_exception":0.343,"P\\Tests\\Feature\\Api\\Frontend\\KomplainControllerTest::__pest_evaluable_store_with_file_attachments":0.415,"P\\Tests\\Feature\\Api\\Frontend\\PotensiControllerTest::__pest_evaluable_potensi_api_returns_correct_structure":0.383,"P\\Tests\\Feature\\Api\\Frontend\\StatistikPendudukControllerTest::__pest_evaluable_index_returns_statistik_penduduk_data":0.432,"P\\Tests\\Feature\\Api\\Frontend\\StatistikPendudukControllerTest::__pest_evaluable_index_with_desa_parameter":0.451,"P\\Tests\\Feature\\Api\\Frontend\\StatistikPendudukControllerTest::__pest_evaluable_index_with_tahun_parameter":0.334,"P\\Tests\\Feature\\Api\\Frontend\\StatistikPendudukControllerTest::__pest_evaluable_index_with_desa_and_tahun_parameters":0.346,"P\\Tests\\Feature\\Api\\Frontend\\StatistikPendudukControllerTest::__pest_evaluable_index_with_pagination_parameters":0.361,"P\\Tests\\Feature\\Api\\Frontend\\StatistikPendudukControllerTest::__pest_evaluable_index_with_search_parameter":0.353,"P\\Tests\\Feature\\Api\\Frontend\\StatistikPendudukControllerTest::__pest_evaluable_index_with_sort_and_order_parameters":0.344,"P\\Tests\\Feature\\Api\\Frontend\\StatistikPendudukControllerTest::__pest_evaluable_index_with_include_parameter":0.34,"P\\Tests\\Feature\\Api\\Frontend\\StatistikPendudukControllerTest::__pest_evaluable_index_with_all_parameters":0.345,"P\\Tests\\Feature\\Api\\Frontend\\StatistikPendudukControllerTest::__pest_evaluable_index_with_empty_data":0.328,"P\\Tests\\Feature\\Api\\InternalApiTest::__pest_evaluable_can_sync_penduduk_data__dispatches_job_":0.435,"P\\Tests\\Feature\\Api\\InternalApiTest::__pest_evaluable_can_sync_identitas_desa":0.401,"P\\Tests\\Feature\\Api\\InternalApiTest::__pest_evaluable_cannot_access_internal_api_with_invalid_token":0.417,"P\\Tests\\Feature\\Api\\InternalApiTest::__pest_evaluable_cannot_access_internal_api_with_unregistered_token":0.394,"P\\Tests\\Feature\\Api\\PublicApiTest::__pest_evaluable_guest_can_access_articles_list":0.008,"P\\Tests\\Feature\\Api\\PublicApiTest::__pest_evaluable_guest_can_filter_articles_by_category":0.009,"P\\Tests\\Feature\\Api\\PublicApiTest::__pest_evaluable_guest_can_sort_articles":0.006,"P\\Tests\\Feature\\Api\\PublicApiTest::__pest_evaluable_guest_can_see_pagination_metadata":0.01,"P\\Tests\\Feature\\Api\\PublicApiTest::__pest_evaluable_guest_can_access_desa_list":0.334,"P\\Tests\\Feature\\Api\\PublicApiTest::__pest_evaluable_guest_can_post_a_comment_to_an_article":0.006,"P\\Tests\\Feature\\Api\\PublicApiTest::__pest_evaluable_guest_gets_404_when_posting_comment_to_non_existent_article":0.311,"P\\Tests\\Feature\\Api\\ScribeTest::__pest_evaluable_scribe_documentation_endpoint_is_accessible":0.391,"P\\Tests\\Feature\\Api\\ScribeTest::__pest_evaluable_scribe_openapi_spec_file_contains_expected_data":0.003,"P\\Tests\\Feature\\AplikasiControllerTest::__pest_evaluable_index_displays_settings":0.945,"P\\Tests\\Feature\\AplikasiControllerTest::__pest_evaluable_edit_displays_edit_form":0.821,"P\\Tests\\Feature\\AplikasiControllerTest::__pest_evaluable_update_success":0.669,"P\\Tests\\Feature\\AplikasiControllerTest::__pest_evaluable_update_validation_error":0.697,"P\\Tests\\Feature\\Audit\\AuditTrailTest::__pest_evaluable__Audit_Trail__\u2192_created__at_and_updated__at_timestamps_are_set":0.006,"P\\Tests\\Feature\\Audit\\AuditTrailTest::__pest_evaluable__Audit_Trail__\u2192_updated__at_is_updated_on_model_update":1.02,"P\\Tests\\Feature\\Audit\\AuditTrailTest::__pest_evaluable__Audit_Trail__\u2192_created__at_does_not_change_on_update":1.016,"P\\Tests\\Feature\\Audit\\AuditTrailTest::__pest_evaluable__Audit_Trail__\u2192_audit_trail_table_exists":0.006,"P\\Tests\\Feature\\Audit\\AuditTrailTest::__pest_evaluable__Audit_Trail__\u2192_model_changes_are_logged":0.005,"P\\Tests\\Feature\\Audit\\AuditTrailTest::__pest_evaluable__Audit_Trail__\u2192_audit_log_contains_correct_data":0.005,"P\\Tests\\Feature\\Audit\\AuditTrailTest::__pest_evaluable__Audit_Trail__\u2192_causer_is_recorded_in_audit_log":0.004,"P\\Tests\\Feature\\Audit\\AuditTrailTest::__pest_evaluable__Audit_Trail__\u2192_audit_log_can_be_queried_by_model":0.006,"P\\Tests\\Feature\\Audit\\AuditTrailTest::__pest_evaluable__Audit_Trail__\u2192_delete_action_is_logged":0.005,"P\\Tests\\Feature\\Audit\\AuditTrailTest::__pest_evaluable__Audit_Trail__\u2192_properties_are_stored_in_audit_log":0.005,"P\\Tests\\Feature\\Auth\\AuthorizationTest::__pest_evaluable__Role_Based_Access_Control__\u2192_super_admin_can_access_dashboard":0.852,"P\\Tests\\Feature\\Auth\\AuthorizationTest::__pest_evaluable__Role_Based_Access_Control__\u2192_admin_kecamatan_can_access_dashboard":0.906,"P\\Tests\\Feature\\Auth\\AuthorizationTest::__pest_evaluable__Role_Based_Access_Control__\u2192_guest_cannot_access_dashboard":0.688,"P\\Tests\\Feature\\Auth\\AuthorizationTest::__pest_evaluable__Permission_Checks__\u2192_user_without_required_role_cannot_access_administrative_routes":0.816,"P\\Tests\\Feature\\Auth\\AuthorizationTest::__pest_evaluable__Permission_Checks__\u2192_user_with_kontributor_artikel_role_can_access_artikel_index":0.923,"P\\Tests\\Feature\\Auth\\LoginTest::__pest_evaluable__Login_Flow__\u2192_login_page_is_accessible":0.747,"P\\Tests\\Feature\\Auth\\LoginTest::__pest_evaluable__Login_Flow__\u2192_user_can_login_with_valid_credentials":0.761,"P\\Tests\\Feature\\Auth\\LoginTest::__pest_evaluable__Login_Flow__\u2192_login_fails_with_incorrect_password":1.035,"P\\Tests\\Feature\\Auth\\LoginTest::__pest_evaluable__Login_Flow__\u2192_login_fails_with_non_existent_email":1.58,"P\\Tests\\Feature\\Auth\\LoginTest::__pest_evaluable__Login_Flow__\u2192_login_succeeds_with_inactive_user_status__current_behavior_":0.853,"P\\Tests\\Feature\\Auth\\LoginTest::__pest_evaluable__Remember_Me__\u2192_login_with_remember_me_sets_the_cookie":0.913,"P\\Tests\\Feature\\Auth\\LoginTest::__pest_evaluable__Session_Management__\u2192_session_is_regenerated_after_login":0.783,"P\\Tests\\Feature\\Auth\\LoginTest::__pest_evaluable__Session_Management__\u2192_session_is_invalidated_after_logout":0.724,"P\\Tests\\Feature\\Auth\\LoginTest::__pest_evaluable__Logout_Flow__\u2192_authenticated_user_can_logout":0.693,"P\\Tests\\Feature\\Auth\\LoginTest::__pest_evaluable__Logout_Flow__\u2192_guest_cannot_access_protected_routes_and_is_redirected_to_login":0.7,"P\\Tests\\Feature\\Auth\\LoginTest::__pest_evaluable__Password_Redirection__\u2192_user_is_redirected_to_change_default_password_if_password_is__password_":0.698,"P\\Tests\\Feature\\Auth\\OtpTest::__pest_evaluable__OTP_Request__\u2192_user_can_request_OTP_for_login":0.717,"P\\Tests\\Feature\\Auth\\OtpTest::__pest_evaluable__OTP_Request__\u2192_inactive_user_cannot_request_OTP":0.713,"P\\Tests\\Feature\\Auth\\OtpTest::__pest_evaluable__OTP_Request__\u2192_user_without_OTP_enabled_cannot_request_OTP":0.719,"P\\Tests\\Feature\\Auth\\OtpTest::__pest_evaluable__OTP_Verification__\u2192_user_can_login_with_valid_OTP":0.71,"P\\Tests\\Feature\\Auth\\OtpTest::__pest_evaluable__OTP_Verification__\u2192_verification_fails_with_invalid_OTP":0.707,"P\\Tests\\Feature\\Auth\\OtpTest::__pest_evaluable__OTP_Verification__\u2192_verification_fails_with_expired_OTP":0.703,"P\\Tests\\Feature\\Auth\\OtpTest::__pest_evaluable__OTP_Verification__\u2192_verification_fails_after_max_attempts":0.84,"P\\Tests\\Feature\\Auth\\PasswordTest::__pest_evaluable__Password_Redirection__\u2192_user_with_default_password__password__is_redirected_to_change_password_page":0.828,"P\\Tests\\Feature\\Auth\\PasswordTest::__pest_evaluable__Password_Change_Requirements__\u2192_mandatory_password_change_form_works":0.944,"P\\Tests\\Feature\\Auth\\PasswordTest::__pest_evaluable__Password_Change_Requirements__\u2192_mandatory_password_change_fails_with_invalid_password_format":0.699,"P\\Tests\\Feature\\Auth\\TwoFactorAuthTest::__pest_evaluable__2FA_Login_Flow__\u2192_user_with_2FA_enabled_is_redirected_to_verification_page_after_password_login":0.696,"P\\Tests\\Feature\\Auth\\TwoFactorAuthTest::__pest_evaluable__2FA_Login_Flow__\u2192_user_can_complete_2FA_login_with_valid_code":0.773,"P\\Tests\\Feature\\Auth\\TwoFactorAuthTest::__pest_evaluable__2FA_Login_Flow__\u2192_2FA_login_fails_with_invalid_code":0.726,"P\\Tests\\Feature\\Auth\\TwoFactorAuthTest::__pest_evaluable__2FA_Login_Flow__\u2192_2FA_login_requires_active_session":0.702,"P\\Tests\\Feature\\Auth\\TwoFactorAuthTest::__pest_evaluable__2FA_Management__\u2192_user_can_enable_2FA_after_verifying_settings":0.701,"P\\Tests\\Feature\\Auth\\TwoFactorAuthTest::__pest_evaluable__2FA_Management__\u2192_user_can_deactivate_2FA":0.692,"P\\Tests\\Feature\\Content\\ArtikelCrudTest::__pest_evaluable__Artikel_CRUD__\u2192_index_displays_artikel_list_view":0.832,"P\\Tests\\Feature\\Content\\ArtikelCrudTest::__pest_evaluable__Artikel_CRUD__\u2192_index_configures_article_date_sorting_using_tanggal__terbit_column":0.945,"P\\Tests\\Feature\\Content\\ArtikelCrudTest::__pest_evaluable__Artikel_CRUD__\u2192_create_displays_artikel_creation_form":1.172,"P\\Tests\\Feature\\Content\\ArtikelCrudTest::__pest_evaluable__Artikel_CRUD__\u2192_store_creates_new_artikel_successfully":0.697,"P\\Tests\\Feature\\Content\\ArtikelCrudTest::__pest_evaluable__Artikel_CRUD__\u2192_store_fails_with_invalid_data":0.845,"P\\Tests\\Feature\\Content\\ArtikelCrudTest::__pest_evaluable__Artikel_CRUD__\u2192_edit_displays_edit_form":0.006,"P\\Tests\\Feature\\Content\\ArtikelCrudTest::__pest_evaluable__Artikel_CRUD__\u2192_update_updates_artikel_successfully":0.007,"P\\Tests\\Feature\\Content\\ArtikelCrudTest::__pest_evaluable__Artikel_CRUD__\u2192_destroy_deletes_artikel_successfully":0.007,"P\\Tests\\Feature\\Content\\ArtikelCrudTest::__pest_evaluable__Artikel_CRUD__\u2192_validation_requires_judul":0.824,"P\\Tests\\Feature\\Content\\ArtikelCrudTest::__pest_evaluable__Artikel_CRUD__\u2192_validation_requires_isi":0.952,"P\\Tests\\Feature\\Content\\NavigationCrudTest::__pest_evaluable__Navigation_CRUD__\u2192_index_displays_navigation_list_view":0.996,"P\\Tests\\Feature\\Content\\NavigationCrudTest::__pest_evaluable__Navigation_CRUD__\u2192_store_creates_new_navigation_successfully":0.814,"P\\Tests\\Feature\\Content\\NavigationCrudTest::__pest_evaluable__Navigation_CRUD__\u2192_store_fails_with_invalid_data":0.772,"P\\Tests\\Feature\\Content\\NavigationCrudTest::__pest_evaluable__Navigation_CRUD__\u2192_update_updates_navigation_successfully":0.744,"P\\Tests\\Feature\\Content\\NavigationCrudTest::__pest_evaluable__Navigation_CRUD__\u2192_destroy_deletes_navigation_successfully":0.783,"P\\Tests\\Feature\\Content\\NavigationCrudTest::__pest_evaluable__Navigation_CRUD__\u2192_validation_requires_name":0.787,"P\\Tests\\Feature\\Content\\NavigationCrudTest::__pest_evaluable__Navigation_CRUD__\u2192_validation_requires_type":0.684,"P\\Tests\\Feature\\Content\\SlideCrudTest::__pest_evaluable__Slide_CRUD__\u2192_index_displays_slide_list_view":0.896,"P\\Tests\\Feature\\Content\\SlideCrudTest::__pest_evaluable__Slide_CRUD__\u2192_store_creates_new_slide_successfully":0.687,"P\\Tests\\Feature\\Content\\SlideCrudTest::__pest_evaluable__Slide_CRUD__\u2192_store_fails_with_invalid_data":0.727,"P\\Tests\\Feature\\Content\\SlideCrudTest::__pest_evaluable__Slide_CRUD__\u2192_edit_displays_edit_form":0.969,"P\\Tests\\Feature\\Content\\SlideCrudTest::__pest_evaluable__Slide_CRUD__\u2192_update_updates_slide_successfully":0.898,"P\\Tests\\Feature\\Content\\SlideCrudTest::__pest_evaluable__Slide_CRUD__\u2192_destroy_deletes_slide_successfully":0.746,"P\\Tests\\Feature\\Content\\SlideCrudTest::__pest_evaluable__Slide_CRUD__\u2192_validation_requires_judul":0.687,"P\\Tests\\Feature\\Content\\SlideCrudTest::__pest_evaluable__Slide_CRUD__\u2192_validation_requires_deskripsi":0.709,"P\\Tests\\Feature\\Controllers\\Data\\PendudukDetailControllerTest::__pest_evaluable_detail_aborts_404_when_id_is_missing":2.643,"P\\Tests\\Feature\\Controllers\\Data\\PendudukDetailControllerTest::__pest_evaluable_detail_aborts_404_when_penduduk_not_found":2.629,"P\\Tests\\Feature\\Controllers\\Data\\PendudukDetailControllerTest::__pest_evaluable_detail_returns_view_with_penduduk_data":2.754,"P\\Tests\\Feature\\Controllers\\Data\\PengurusControllerTest::__pest_evaluable_index_displays_pengurus_list_view":0.942,"P\\Tests\\Feature\\Controllers\\Data\\PengurusControllerTest::__pest_evaluable_index_returns_datatables_json_for_ajax_request":0.7,"P\\Tests\\Feature\\Controllers\\Data\\PengurusControllerTest::__pest_evaluable_create_displays_create_form":1.285,"P\\Tests\\Feature\\Controllers\\Data\\PengurusControllerTest::__pest_evaluable_store_creates_new_pengurus_successfully":0.745,"P\\Tests\\Feature\\Controllers\\Data\\PengurusControllerTest::__pest_evaluable_store_creates_pengurus_with_file_upload":0.898,"P\\Tests\\Feature\\Controllers\\Data\\PengurusControllerTest::__pest_evaluable_store_fails_with_duplicate_nik":0.756,"P\\Tests\\Feature\\Controllers\\Data\\PengurusControllerTest::__pest_evaluable_edit_displays_edit_form":1.099,"P\\Tests\\Feature\\Controllers\\Data\\PengurusControllerTest::__pest_evaluable_edit_fails_for_non_existent_pengurus":0.819,"P\\Tests\\Feature\\Controllers\\Data\\PengurusControllerTest::__pest_evaluable_update_modifies_pengurus_successfully":0.872,"P\\Tests\\Feature\\Controllers\\Data\\PengurusControllerTest::__pest_evaluable_update_fails_for_non_existent_pengurus":0.76,"P\\Tests\\Feature\\Controllers\\Data\\PengurusControllerTest::__pest_evaluable_destroy_deletes_pengurus_successfully":0.719,"P\\Tests\\Feature\\Controllers\\Data\\PengurusControllerTest::__pest_evaluable_lock_activates_pengurus":0.724,"P\\Tests\\Feature\\Controllers\\Data\\PengurusControllerTest::__pest_evaluable_lock_deactivates_pengurus":0.676,"P\\Tests\\Feature\\Controllers\\Data\\PengurusControllerTest::__pest_evaluable_lock_prevents_multiple_active_camat":0.676,"P\\Tests\\Feature\\Controllers\\Data\\PengurusControllerTest::__pest_evaluable_lock_prevents_multiple_active_sekretaris":0.721,"P\\Tests\\Feature\\Controllers\\Data\\PengurusControllerTest::__pest_evaluable_bagan_displays_bagan_view":0.843,"P\\Tests\\Feature\\Controllers\\Data\\PengurusControllerTest::__pest_evaluable_ajax_bagan_returns_json_data":0.82,"P\\Tests\\Feature\\CounterExportTest::__pest_evaluable_export_counter_excel_is_accessible":0.996,"P\\Tests\\Feature\\DasSettingSeederTest::__pest_evaluable_semua_setting_key_terdaftar_dalam_database":0.009,"P\\Tests\\Feature\\DataDesaExportTest::__pest_evaluable_export_excel_data_desa":0.378,"P\\Tests\\Feature\\DataDesaExportTest::__pest_evaluable_export_excel_local_database":0.009,"P\\Tests\\Feature\\DataDesaExportTest::__pest_evaluable_export_excel_database_gabungan_active":0.375,"P\\Tests\\Feature\\DataDesaExportTest::__pest_evaluable_export_data_desa_gabungan_mode_constructor":0.003,"P\\Tests\\Feature\\DataDesaExportTest::__pest_evaluable_export_headings":0.003,"P\\Tests\\Feature\\DataDesaExportTest::__pest_evaluable_export_mapping":0.005,"P\\Tests\\Feature\\DataDesaExportTest::__pest_evaluable_export_styles":0.023,"P\\Tests\\Feature\\DataDesaExportTest::__pest_evaluable_export_data_desa_with_empty_database":0.004,"P\\Tests\\Feature\\DataDesaExportTest::__pest_evaluable_export_data_desa_with_special_characters_in_nama":0.006,"P\\Tests\\Feature\\DataDesaExportTest::__pest_evaluable_export_data_desa_with_null_values":0.004,"P\\Tests\\Feature\\DataDesaExportTest::__pest_evaluable_export_data_desa_with_very_long_nama":0.005,"P\\Tests\\Feature\\DataDesaExportTest::__pest_evaluable_export_data_desa_with_unicode_characters":0.006,"P\\Tests\\Feature\\DataDesaExportTest::__pest_evaluable_export_data_desa_with_custom_sebutan__desa_config":0.005,"P\\Tests\\Feature\\DataDesaExportTest::__pest_evaluable_export_data_desa_gabungan_with_empty_api_response":0.005,"P\\Tests\\Feature\\DataDesaExportTest::__pest_evaluable_export_data_desa_with_large_dataset_performance":0.075,"P\\Tests\\Feature\\DataDesaExportTest::__pest_evaluable_export_data_desa_mapping_with_dates":0.005,"P\\Tests\\Feature\\DataDesaExportTest::__pest_evaluable_export_data_desa_with_zero_luas__wilayah":0.005,"P\\Tests\\Feature\\DataDesaExportTest::__pest_evaluable_export_data_desa_styles_returns_correct_structure":0.003,"P\\Tests\\Feature\\DataSaranaControllerTest::__pest_evaluable_index_displays_the_data_sarana_index_view":0.971,"P\\Tests\\Feature\\DataSaranaControllerTest::__pest_evaluable_getData_returns_json_response_for_datatable":0.899,"P\\Tests\\Feature\\DataSaranaControllerTest::__pest_evaluable_getData_with_excel_action_triggers_download":0.706,"P\\Tests\\Feature\\DataSaranaControllerTest::__pest_evaluable_create_displays_the_create_form":1.089,"P\\Tests\\Feature\\DataSaranaControllerTest::__pest_evaluable_store_saves_new_data_sarana_with_valid_data":0.682,"P\\Tests\\Feature\\DataSaranaControllerTest::__pest_evaluable_store_fails_with_invalid_data":0.785,"P\\Tests\\Feature\\DataSaranaControllerTest::__pest_evaluable_edit_displays_the_edit_form_with_existing_data":0.817,"P\\Tests\\Feature\\DataSaranaControllerTest::__pest_evaluable_update_updates_existing_data_sarana_with_valid_data":0.762,"P\\Tests\\Feature\\DataSaranaControllerTest::__pest_evaluable_update_fails_with_invalid_data":0.667,"P\\Tests\\Feature\\DataSaranaControllerTest::__pest_evaluable_update_fails_for_non_existent_sarana":0.698,"P\\Tests\\Feature\\DataSaranaControllerTest::__pest_evaluable_destroy_deletes_existing_data_sarana":0.695,"P\\Tests\\Feature\\DataSaranaControllerTest::__pest_evaluable_destroy_fails_for_non_existent_sarana":0.687,"P\\Tests\\Feature\\DataSaranaControllerTest::__pest_evaluable_import_displays_the_import_form":0.906,"P\\Tests\\Feature\\DataSaranaControllerTest::__pest_evaluable_importExcel_processes_valid_file":0.767,"P\\Tests\\Feature\\DataSaranaControllerTest::__pest_evaluable_importExcel_fails_with_invalid_file":0.671,"P\\Tests\\Feature\\DataSaranaControllerTest::__pest_evaluable_importExcel_fails_with_wrong_file_type":0.673,"P\\Tests\\Feature\\DataSaranaControllerTest::__pest_evaluable_getData_includes_desa_relationship":0.695,"P\\Tests\\Feature\\DataSaranaControllerTest::__pest_evaluable_getData_includes_formatted_kategori":0.772,"P\\Tests\\Feature\\DataSaranaControllerTest::__pest_evaluable_getData_includes_action_buttons":0.705,"P\\Tests\\Feature\\DataTablesPostMethodTest::__pest_evaluable__DataTables_Data_Desa_via_POST__\u2192_endpoint_getdata_menolak_GET_dengan_URL_kosong__tetap_backward_compatible_":0.7,"P\\Tests\\Feature\\DataTablesPostMethodTest::__pest_evaluable__DataTables_Data_Desa_via_POST__\u2192_endpoint_getdata_menerima_POST_dan_mengembalikan_struktur_DataTables":0.854,"P\\Tests\\Feature\\DataTablesPostMethodTest::__pest_evaluable__DataTables_Data_Desa_via_POST__\u2192_POST_ke_getdata_mengembalikan_kolom_yang_diharapkan":0.771,"P\\Tests\\Feature\\DataTablesPostMethodTest::__pest_evaluable__DataTables_Data_Desa_via_POST__\u2192_POST_dengan_draw_parameter_dikembalikan_kembali_dalam_response":0.673,"P\\Tests\\Feature\\DataTablesPostMethodTest::__pest_evaluable__DataTables_Data_Sarana_via_POST__\u2192_endpoint_getdata_menerima_POST_dan_mengembalikan_struktur_DataTables":0.705,"P\\Tests\\Feature\\DataTablesPostMethodTest::__pest_evaluable__DataTables_Data_Sarana_via_POST__\u2192_POST_dengan_filter_desa__id_memfilter_data_dengan_benar":0.721,"P\\Tests\\Feature\\DataTablesPostMethodTest::__pest_evaluable__DataTables_Data_Sarana_via_POST__\u2192_GET_pada_getdata_masih_berfungsi__backward_compatible_":0.765,"P\\Tests\\Feature\\DataTablesPostMethodTest::__pest_evaluable__DataTables_Pengurus_via_POST__\u2192_endpoint_dedicated_POST_getdata_mengembalikan_struktur_DataTables":0.951,"P\\Tests\\Feature\\DataTablesPostMethodTest::__pest_evaluable__DataTables_Pengurus_via_POST__\u2192_POST_dengan_status_aktif_hanya_mengembalikan_pengurus_aktif":0.947,"P\\Tests\\Feature\\DataTablesPostMethodTest::__pest_evaluable__DataTables_Pengurus_via_POST__\u2192_index_via_GET_masih_mengembalikan_view_HTML__bukan_ajax_":0.769,"P\\Tests\\Feature\\DataTablesPostMethodTest::__pest_evaluable__DataTables_Jabatan_via_POST__\u2192_route_POST_jabatan_mengembalikan_struktur_DataTables":0.764,"P\\Tests\\Feature\\DataTablesPostMethodTest::__pest_evaluable__DataTables_Jabatan_via_POST__\u2192_POST_ke_jabatan_mengembalikan_kolom_nama_dan_tupoksi":0.787,"P\\Tests\\Feature\\DataTablesPostMethodTest::__pest_evaluable__DataTables_Jabatan_via_POST__\u2192_index_via_GET_masih_mengembalikan_view_HTML__bukan_ajax_":0.878,"P\\Tests\\Feature\\DataTablesPostMethodTest::__pest_evaluable__DataTables_Jabatan_via_POST__\u2192_GET_index_dengan_ajax_header_mengembalikan_data_DataTables":0.851,"P\\Tests\\Feature\\DataUmumControllerTest::__pest_evaluable_index_displays_edit_view":0.95,"P\\Tests\\Feature\\DataUmumControllerTest::__pest_evaluable_update_success":0.687,"P\\Tests\\Feature\\DataUmumControllerTest::__pest_evaluable_update_failed":0.674,"P\\Tests\\Feature\\DataUmumControllerTest::__pest_evaluable_get_data_umum_ajax":0.675,"P\\Tests\\Feature\\Data\\FinansialDataTablesPostTest::__pest_evaluable__DataTables_Anggaran_dan_Realisasi_via_POST__\u2192_endpoint_getdata_menerima_POST_dan_mengembalikan_struktur_DataTables":0.814,"P\\Tests\\Feature\\Data\\FinansialDataTablesPostTest::__pest_evaluable__DataTables_Anggaran_dan_Realisasi_via_POST__\u2192_POST_ke_getdata_mengembalikan_kolom_yang_diharapkan":0.806,"P\\Tests\\Feature\\Data\\FinansialDataTablesPostTest::__pest_evaluable__DataTables_Anggaran_dan_Realisasi_via_POST__\u2192_GET_pada_getdata_masih_berfungsi__backward_compatible_":0.73,"P\\Tests\\Feature\\Data\\FinansialDataTablesPostTest::__pest_evaluable__DataTables_APBDes_via_POST__\u2192_endpoint_getdata_menerima_POST_dan_mengembalikan_struktur_DataTables":0.774,"P\\Tests\\Feature\\Data\\FinansialDataTablesPostTest::__pest_evaluable__DataTables_APBDes_via_POST__\u2192_POST_ke_getdata_mengembalikan_kolom_yang_diharapkan":0.787,"P\\Tests\\Feature\\Data\\FinansialDataTablesPostTest::__pest_evaluable__DataTables_APBDes_via_POST__\u2192_POST_dengan_filter_desa__id_memfilter_data_dengan_benar":0.77,"P\\Tests\\Feature\\Data\\FinansialDataTablesPostTest::__pest_evaluable__DataTables_APBDes_via_POST__\u2192_GET_pada_getdata_masih_berfungsi__backward_compatible_":0.706,"P\\Tests\\Feature\\Data\\FinansialDataTablesPostTest::__pest_evaluable__DataTables_Laporan_APBDes_via_POST__\u2192_endpoint_getdata_menerima_POST_dan_mengembalikan_struktur_DataTables":0.767,"P\\Tests\\Feature\\Data\\FinansialDataTablesPostTest::__pest_evaluable__DataTables_Laporan_APBDes_via_POST__\u2192_POST_ke_getdata_mengembalikan_kolom_yang_diharapkan":0.797,"P\\Tests\\Feature\\Data\\FinansialDataTablesPostTest::__pest_evaluable__DataTables_Laporan_APBDes_via_POST__\u2192_POST_dengan_filter_desa__id_memfilter_data_dengan_benar":0.795,"P\\Tests\\Feature\\Data\\FinansialDataTablesPostTest::__pest_evaluable__DataTables_Laporan_APBDes_via_POST__\u2192_GET_pada_getdata_masih_berfungsi__backward_compatible_":0.714,"P\\Tests\\Feature\\Data\\ProgramBantuanPembangunanDataTablesPostTest::__pest_evaluable__DataTables_Program_Bantuan_via_POST__\u2192_endpoint_getdata_menerima_POST_dan_mengembalikan_struktur_DataTables":0.948,"P\\Tests\\Feature\\Data\\ProgramBantuanPembangunanDataTablesPostTest::__pest_evaluable__DataTables_Program_Bantuan_via_POST__\u2192_POST_ke_getdata_mengembalikan_kolom_yang_diharapkan":0.983,"P\\Tests\\Feature\\Data\\ProgramBantuanPembangunanDataTablesPostTest::__pest_evaluable__DataTables_Program_Bantuan_via_POST__\u2192_POST_dengan_filter_desa__id_memfilter_data_dengan_benar":0.986,"P\\Tests\\Feature\\Data\\ProgramBantuanPembangunanDataTablesPostTest::__pest_evaluable__DataTables_Program_Bantuan_via_POST__\u2192_GET_pada_getdata_masih_berfungsi__backward_compatible_":0.698,"P\\Tests\\Feature\\Data\\ProgramBantuanPembangunanDataTablesPostTest::__pest_evaluable__DataTables_Pembangunan_via_POST__\u2192_endpoint_getdata_menerima_POST_dan_mengembalikan_struktur_DataTables":0.679,"P\\Tests\\Feature\\Data\\ProgramBantuanPembangunanDataTablesPostTest::__pest_evaluable__DataTables_Pembangunan_via_POST__\u2192_POST_ke_getdata_mengembalikan_kolom_yang_diharapkan":0.703,"P\\Tests\\Feature\\Data\\ProgramBantuanPembangunanDataTablesPostTest::__pest_evaluable__DataTables_Pembangunan_via_POST__\u2192_POST_dengan_filter_desa__id_memfilter_data_dengan_benar":0.686,"P\\Tests\\Feature\\Data\\ProgramBantuanPembangunanDataTablesPostTest::__pest_evaluable__DataTables_Pembangunan_via_POST__\u2192_GET_pada_getdata_masih_berfungsi__backward_compatible_":0.669,"P\\Tests\\Feature\\Database\\SoftDeleteTest::__pest_evaluable__Soft_Delete_Functionality__\u2192_models_use_soft_delete":0.003,"P\\Tests\\Feature\\Database\\SoftDeleteTest::__pest_evaluable__Soft_Delete_Functionality__\u2192_delete_marks_record_as_deleted_not_removed":0.717,"P\\Tests\\Feature\\Database\\SoftDeleteTest::__pest_evaluable__Soft_Delete_Functionality__\u2192_deleted_records_are_not_shown_in_index":0.749,"P\\Tests\\Feature\\Database\\SoftDeleteTest::__pest_evaluable__Soft_Delete_Functionality__\u2192_restore_soft_deleted_record":0.002,"P\\Tests\\Feature\\Database\\SoftDeleteTest::__pest_evaluable__Soft_Delete_Functionality__\u2192_force_delete_permanently_removes_record":0.003,"P\\Tests\\Feature\\Database\\SoftDeleteTest::__pest_evaluable__Soft_Delete_Functionality__\u2192_trashed_records_can_be_queried":0.004,"P\\Tests\\Feature\\Database\\SoftDeleteTest::__pest_evaluable__Soft_Delete_Functionality__\u2192_unique_validation_ignores_soft_deleted_records":0.002,"P\\Tests\\Feature\\Database\\SoftDeleteTest::__pest_evaluable__Soft_Delete_Functionality__\u2192_relationships_with_soft_deleted_models":0.003,"P\\Tests\\Feature\\Database\\TransactionTest::__pest_evaluable__Database_Transactions__\u2192_transaction_rolls_back_on_error":0.005,"P\\Tests\\Feature\\Database\\TransactionTest::__pest_evaluable__Database_Transactions__\u2192_transaction_commits_successfully":0.006,"P\\Tests\\Feature\\Database\\TransactionTest::__pest_evaluable__Database_Transactions__\u2192_multiple_operations_in_single_transaction":0.044,"P\\Tests\\Feature\\Database\\TransactionTest::__pest_evaluable__Database_Transactions__\u2192_transaction_rolls_back_all_operations_on_error":0.044,"P\\Tests\\Feature\\Database\\TransactionTest::__pest_evaluable__Database_Transactions__\u2192_nested_transactions_work_correctly":0.007,"P\\Tests\\Feature\\Database\\TransactionTest::__pest_evaluable__Database_Transactions__\u2192_database_transaction_trait_works_correctly":0.004,"P\\Tests\\Feature\\Database\\TransactionTest::__pest_evaluable__Database_Transactions__\u2192_concurrent_transactions_do_not_interfere":0.006,"P\\Tests\\Feature\\Database\\TransactionTest::__pest_evaluable__Database_Transactions__\u2192_savepoint_and_rollback_to_savepoint":0.003,"Tests\\Feature\\EpidemiPenyakitExportTest::test_dependencies_are_working":0.02,"Tests\\Feature\\EpidemiPenyakitExportTest::test_unauthorized_access_denied":0.438,"Tests\\Feature\\EpidemiPenyakitExportTest::test_export_functionality_unit":0.026,"Tests\\Feature\\EpidemiPenyakitExportTest::test_export_with_various_data_scenarios":0.467,"P\\Tests\\Feature\\ExampleTest::__pest_evaluable_it_returns_a_successful_response":0.732,"P\\Tests\\Feature\\ExportDatabaseGabunganTest::__pest_evaluable_export_data_desa_with_database_gabungan_inactive_uses_local_database":0.01,"P\\Tests\\Feature\\ExportDatabaseGabunganTest::__pest_evaluable_export_keluarga_with_database_gabungan_inactive_uses_local_database":0.03,"P\\Tests\\Feature\\ExportDatabaseGabunganTest::__pest_evaluable_export_penduduk_with_database_gabungan_inactive_uses_local_database":0.141,"P\\Tests\\Feature\\ExportDatabaseGabunganTest::__pest_evaluable_export_data_desa_with_database_gabungan_active_calls_API":0.009,"P\\Tests\\Feature\\ExportDatabaseGabunganTest::__pest_evaluable_export_data_desa_with_database_gabungan_active_via_controller":0.392,"P\\Tests\\Feature\\ExportDatabaseGabunganTest::__pest_evaluable_export_data_desa_with_database_gabungan_active_returns_mapped_data":0.009,"P\\Tests\\Feature\\ExportDatabaseGabunganTest::__pest_evaluable_export_data_desa_with_database_gabungan_active_handles_API_error":0.008,"P\\Tests\\Feature\\ExportDatabaseGabunganTest::__pest_evaluable_export_data_desa_with_database_gabungan_active_handles_empty_API_response":0.008,"P\\Tests\\Feature\\ExportDatabaseGabunganTest::__pest_evaluable_export_data_desa_with_database_gabungan_active_handles_connection_timeout":0.009,"P\\Tests\\Feature\\ExportDatabaseGabunganTest::__pest_evaluable_DesaService_listDesa_with_database_gabungan_active_uses_cache":0.008,"P\\Tests\\Feature\\ExportDatabaseGabunganTest::__pest_evaluable_DesaService_listDesa_with_database_gabungan_active_calls_API_when_cache_empty":0.008,"P\\Tests\\Feature\\ExportDatabaseGabunganTest::__pest_evaluable_export_keluarga_with_database_gabungan_active_uses_KeluargaService":0.008,"P\\Tests\\Feature\\ExportDatabaseGabunganTest::__pest_evaluable_export_penduduk_with_database_gabungan_active_uses_PendudukService":0.007,"P\\Tests\\Feature\\ExportDatabaseGabunganTest::__pest_evaluable_export_aki_akb_always_uses_local_database":0.012,"P\\Tests\\Feature\\ExportDatabaseGabunganTest::__pest_evaluable_toggle_database_gabungan_setting_from_inactive_to_active":0.013,"P\\Tests\\Feature\\ExportDatabaseGabunganTest::__pest_evaluable_database_gabungan_setting_does_not_affect_local_data_integrity":0.013,"P\\Tests\\Feature\\ExportDatabaseGabunganTest::__pest_evaluable_api_request_includes_correct_authorization_header":0.008,"P\\Tests\\Feature\\ExportDatabaseGabunganTest::__pest_evaluable_api_request_includes_correct_query_parameters":0.008,"P\\Tests\\Feature\\ExportRouteMiddlewareTest::__pest_evaluable_export_anggaran_desa_middleware_blocks_unauthenticated_user":0.941,"P\\Tests\\Feature\\ExportRouteMiddlewareTest::__pest_evaluable_export_anggaran_desa_middleware_allows_super_admin_role":0.721,"P\\Tests\\Feature\\ExportRouteMiddlewareTest::__pest_evaluable_export_anggaran_desa_middleware_blocks_user_without_required_role":0.789,"P\\Tests\\Feature\\ExportRouteMiddlewareTest::__pest_evaluable_export_data_desa_middleware_allows_admin_kecamatan_role":0.83,"P\\Tests\\Feature\\ExportRouteMiddlewareTest::__pest_evaluable_export_data_desa_middleware_blocks_user_without_admin_kecamatan_role":0.804,"P\\Tests\\Feature\\ExportRouteMiddlewareTest::__pest_evaluable_export_anggaran_desa_without_middleware_always_succeeds":0.376,"P\\Tests\\Feature\\ExportRouteMiddlewareTest::__pest_evaluable_export_with_middleware_vs_without_middleware_comparison":0.732,"P\\Tests\\Feature\\ExportRouteMiddlewareTest::__pest_evaluable_export_unauthorized_user_with_vs_without_middleware":0.819,"P\\Tests\\Feature\\ExportRouteMiddlewareTest::__pest_evaluable_export_with_multiple_roles_including_required_role":0.739,"P\\Tests\\Feature\\ExportRouteMiddlewareTest::__pest_evaluable_export_keluarga_route_middleware_configuration":0.117,"P\\Tests\\Feature\\ExportRouteMiddlewareTest::__pest_evaluable_export_data_desa_route_middleware_configuration":0.121,"Tests\\Feature\\FasilitasPaudExportTest::test_dependencies_are_working":0.023,"Tests\\Feature\\FasilitasPaudExportTest::test_unauthorized_access_denied":0.425,"Tests\\Feature\\FasilitasPaudExportTest::test_export_functionality_unit":0.022,"Tests\\Feature\\FasilitasPaudExportTest::test_export_with_various_data_scenarios":0.453,"Tests\\Feature\\FasilitasPaudExportTest::test_export_handles_edge_cases":0.456,"Tests\\Feature\\FasilitasPaudExportTest::test_export_with_large_dataset":0.542,"Tests\\Feature\\FasilitasPaudExportTest::test_export_includes_desa_relation":0.456,"P\\Tests\\Feature\\FilterDesaSuratTest::__pest_evaluable_filter_desa_di_halaman_permohonan_dengan_desa_tertentu":1.003,"P\\Tests\\Feature\\FilterDesaSuratTest::__pest_evaluable_filter_desa_di_halaman_permohonan_dengan_semua_desa":1.331,"P\\Tests\\Feature\\FilterDesaSuratTest::__pest_evaluable_filter_desa_di_halaman_permohonan_tanpa_parameter":0.718,"P\\Tests\\Feature\\FilterDesaSuratTest::__pest_evaluable_filter_desa_di_halaman_permohonan_ditolak_dengan_desa_tertentu":0.912,"P\\Tests\\Feature\\FilterDesaSuratTest::__pest_evaluable_filter_desa_di_halaman_permohonan_ditolak_dengan_semua_desa":0.961,"P\\Tests\\Feature\\FilterDesaSuratTest::__pest_evaluable_filter_desa_di_halaman_permohonan_ditolak_tanpa_parameter":1.024,"P\\Tests\\Feature\\FilterDesaSuratTest::__pest_evaluable_filter_desa_di_halaman_arsip_dengan_desa_tertentu":1.078,"P\\Tests\\Feature\\FilterDesaSuratTest::__pest_evaluable_filter_desa_di_halaman_arsip_dengan_semua_desa":1.042,"P\\Tests\\Feature\\FilterDesaSuratTest::__pest_evaluable_filter_desa_di_halaman_arsip_tanpa_parameter":0.981,"P\\Tests\\Feature\\FilterDesaSuratTest::__pest_evaluable_filter_permohonan_mengembalikan_data_sesuai_desa_yang_dipilih":1.007,"P\\Tests\\Feature\\FilterDesaSuratTest::__pest_evaluable_filter_arsip_mengembalikan_data_sesuai_desa_yang_dipilih":0.998,"P\\Tests\\Feature\\FilterDesaSuratTest::__pest_evaluable_filter_ditolak_mengembalikan_data_sesuai_desa_yang_dipilih":0.936,"P\\Tests\\Feature\\FilterDesaSuratTest::__pest_evaluable_halaman_permohonan_dapat_diakses_dan_memiliki_filter_desa":0.808,"P\\Tests\\Feature\\FilterDesaSuratTest::__pest_evaluable_halaman_permohonan_ditolak_dapat_diakses_dan_memiliki_filter_desa":0.866,"P\\Tests\\Feature\\FilterDesaSuratTest::__pest_evaluable_halaman_arsip_dapat_diakses_dan_memiliki_filter_desa":0.98,"P\\Tests\\Feature\\ImunisasiExportTest::__pest_evaluable_export_excel_imunisasi":0.386,"P\\Tests\\Feature\\ImunisasiExportTest::__pest_evaluable_export_imunisasi_headings":0.003,"P\\Tests\\Feature\\ImunisasiExportTest::__pest_evaluable_export_imunisasi_data":0.009,"P\\Tests\\Feature\\ImunisasiExportTest::__pest_evaluable_export_imunisasi_mapping":0.008,"P\\Tests\\Feature\\ImunisasiExportTest::__pest_evaluable_export_imunisasi_no_data":0.009,"P\\Tests\\Feature\\ImunisasiExportTest::__pest_evaluable_export_imunisasi_with_invalid_cakupan__imunisasi_negative_value":0.008,"P\\Tests\\Feature\\ImunisasiExportTest::__pest_evaluable_export_imunisasi_with_cakupan__imunisasi_above_100":0.008,"P\\Tests\\Feature\\ImunisasiExportTest::__pest_evaluable_export_imunisasi_with_cakupan__imunisasi_zero":0.019,"P\\Tests\\Feature\\ImunisasiExportTest::__pest_evaluable_export_imunisasi_with_invalid_bulan_value":0.011,"P\\Tests\\Feature\\ImunisasiExportTest::__pest_evaluable_export_imunisasi_with_bulan_value_zero":0.006,"P\\Tests\\Feature\\ImunisasiExportTest::__pest_evaluable_export_imunisasi_with_all_valid_months":0.015,"P\\Tests\\Feature\\ImunisasiExportTest::__pest_evaluable_export_imunisasi_with_invalid_tahun_value":0.008,"P\\Tests\\Feature\\ImunisasiExportTest::__pest_evaluable_export_imunisasi_with_null_desa_relationship":0.005,"P\\Tests\\Feature\\ImunisasiExportTest::__pest_evaluable_export_imunisasi_with_null_created__at_updated__at":0.008,"P\\Tests\\Feature\\ImunisasiExportTest::__pest_evaluable_export_imunisasi_styles_returns_correct_structure":0.003,"P\\Tests\\Feature\\ImunisasiExportTest::__pest_evaluable_export_imunisasi_with_decimal_cakupan__imunisasi":0.007,"P\\Tests\\Feature\\ImunisasiExportTest::__pest_evaluable_export_imunisasi_with_very_large_tahun_value":0.007,"P\\Tests\\Feature\\JumlahDashboardTest::__pest_evaluable_jumlah_desa_service_sama_dengan_api":0.005,"P\\Tests\\Feature\\JumlahDashboardTest::__pest_evaluable_jumlah_penduduk_service_sama_dengan_api":0.007,"P\\Tests\\Feature\\JumlahDashboardTest::__pest_evaluable_jumlah_keluarga_service_sama_dengan_api":0.005,"P\\Tests\\Feature\\JumlahDashboardTest::__pest_evaluable_jumlah_bantuan_service_sama_dengan_api":0.006,"P\\Tests\\Feature\\KecamatanDesaFooterBasicTest::__pest_evaluable_requires_app_to_be_installed":0.317,"P\\Tests\\Feature\\KecamatanDesaFooterBasicTest::__pest_evaluable_home_page_accessible_when_installed":0.704,"P\\Tests\\Feature\\KecamatanDesaFooterBasicTest::__pest_evaluable_cache_clear_command_works":0.011,"P\\Tests\\Feature\\KecamatanDesaFooterBasicTest::__pest_evaluable_cache_clear_command_with_all_option":0.064,"P\\Tests\\Feature\\KecamatanDesaFooterBasicTest::__pest_evaluable_sudah_instal_function":0.005,"P\\Tests\\Feature\\KeluargaExportTest::__pest_evaluable_export_excel_keluarga":0.479,"P\\Tests\\Feature\\KeluargaExportTest::__pest_evaluable_export_excel_keluarga_with_desa_filter":0.498,"P\\Tests\\Feature\\KeluargaExportTest::__pest_evaluable_export_keluarga_local_database_no_filter":0.027,"P\\Tests\\Feature\\KeluargaExportTest::__pest_evaluable_export_keluarga_local_database_with_desa_filter":0.039,"P\\Tests\\Feature\\KeluargaExportTest::__pest_evaluable_export_keluarga_with_semua_filter":0.027,"P\\Tests\\Feature\\KeluargaExportTest::__pest_evaluable_export_keluarga_with_small_dataset_performance":0.064,"P\\Tests\\Feature\\KeluargaExportTest::__pest_evaluable_export_keluarga_with_medium_dataset_performance":0.205,"P\\Tests\\Feature\\KeluargaExportTest::__pest_evaluable_export_keluarga_with_large_dataset_performance":0.465,"P\\Tests\\Feature\\KeluargaExportTest::__pest_evaluable_export_keluarga_with_multiple_desa_performance":0.47,"P\\Tests\\Feature\\KeluargaExportTest::__pest_evaluable_export_keluarga_with_filter_performance":0.496,"P\\Tests\\Feature\\KeluargaExportTest::__pest_evaluable_export_keluarga_memory_usage_with_large_dataset":0.775,"P\\Tests\\Feature\\KeluargaExportTest::__pest_evaluable_export_keluarga_with_eager_loading_performance":0.151,"P\\Tests\\Feature\\KeluargaExportTest::__pest_evaluable_export_keluarga_repeated_exports_consistency":0.116,"P\\Tests\\Feature\\KeluargaExportTest::__pest_evaluable_export_keluarga_with_complex_data_relationships":0.468,"P\\Tests\\Feature\\KeluargaExportTest::__pest_evaluable_export_keluarga_styles_performance":0.003,"P\\Tests\\Feature\\KependudukanDataTablesPostTest::__pest_evaluable__DataTables_Menu_Kependudukan_via_POST__\u2192_Penduduk_endpoint_menerima_POST_dan_mengembalikan_struktur_DataTables":0.747,"P\\Tests\\Feature\\KependudukanDataTablesPostTest::__pest_evaluable__DataTables_Menu_Kependudukan_via_POST__\u2192_Keluarga_endpoint_menerima_POST_dan_mengembalikan_struktur_DataTables":0.869,"P\\Tests\\Feature\\KependudukanDataTablesPostTest::__pest_evaluable__DataTables_Menu_Kependudukan_via_POST__\u2192_Data_Suplemen_getdata_endpoint_menerima_POST_dan_mengembalikan_struktur_DataTables":0.883,"P\\Tests\\Feature\\KependudukanDataTablesPostTest::__pest_evaluable__DataTables_Menu_Kependudukan_via_POST__\u2192_Data_Suplemen_getsuplementerdata_endpoint_menerima_POST":0.688,"P\\Tests\\Feature\\KependudukanDataTablesPostTest::__pest_evaluable__DataTables_Menu_Kependudukan_via_POST__\u2192_Laporan_Penduduk_endpoint_menerima_POST_dan_mengembalikan_struktur_DataTables":0.761,"P\\Tests\\Feature\\KependudukanDataTablesPostTest::__pest_evaluable__DataTables_Menu_Kependudukan_via_POST__\u2192_Semua_endpoint_getdata_Kependudukan_tetap_backward_compatible_dengan_GET":0.899,"P\\Tests\\Feature\\Kesehatan\\AkiAkbCrudTest::__pest_evaluable__AKI_AKB_CRUD__\u2192_index_displays_aki_akb_list_view":2.905,"P\\Tests\\Feature\\Kesehatan\\AkiAkbCrudTest::__pest_evaluable__AKI_AKB_CRUD__\u2192_import_displays_import_form":1.156,"P\\Tests\\Feature\\Kesehatan\\AkiAkbCrudTest::__pest_evaluable__AKI_AKB_CRUD__\u2192_edit_displays_edit_form":1.198,"P\\Tests\\Feature\\Kesehatan\\AkiAkbCrudTest::__pest_evaluable__AKI_AKB_CRUD__\u2192_update_updates_aki_akb_successfully":0.909,"P\\Tests\\Feature\\Kesehatan\\AkiAkbCrudTest::__pest_evaluable__AKI_AKB_CRUD__\u2192_update_fails_with_invalid_data":0.931,"P\\Tests\\Feature\\Kesehatan\\AkiAkbCrudTest::__pest_evaluable__AKI_AKB_CRUD__\u2192_destroy_deletes_aki_akb_successfully":1.168,"P\\Tests\\Feature\\Kesehatan\\AkiAkbCrudTest::__pest_evaluable__AKI_AKB_CRUD__\u2192_getDataAKIAKB_returns_JSON_response_for_DataTables":1.266,"P\\Tests\\Feature\\Kesehatan\\AkiAkbCrudTest::__pest_evaluable__AKI_AKB_CRUD__\u2192_validation_requires_aki_and_akb":0.82,"P\\Tests\\Feature\\Kesehatan\\ImunisasiCrudTest::__pest_evaluable__Imunisasi_CRUD__\u2192_index_displays_imunisasi_list_view":1.027,"P\\Tests\\Feature\\Kesehatan\\ImunisasiCrudTest::__pest_evaluable__Imunisasi_CRUD__\u2192_import_displays_import_form":1.016,"P\\Tests\\Feature\\Kesehatan\\ImunisasiCrudTest::__pest_evaluable__Imunisasi_CRUD__\u2192_edit_displays_edit_form":1.048,"P\\Tests\\Feature\\Kesehatan\\ImunisasiCrudTest::__pest_evaluable__Imunisasi_CRUD__\u2192_update_updates_imunisasi_successfully":0.725,"P\\Tests\\Feature\\Kesehatan\\ImunisasiCrudTest::__pest_evaluable__Imunisasi_CRUD__\u2192_update_fails_with_invalid_data":0.926,"P\\Tests\\Feature\\Kesehatan\\ImunisasiCrudTest::__pest_evaluable__Imunisasi_CRUD__\u2192_destroy_deletes_imunisasi_successfully":0.735,"P\\Tests\\Feature\\Kesehatan\\ImunisasiCrudTest::__pest_evaluable__Imunisasi_CRUD__\u2192_getDataAKIAKB_returns_JSON_response_for_DataTables":0.837,"P\\Tests\\Feature\\Kesehatan\\ImunisasiCrudTest::__pest_evaluable__Imunisasi_CRUD__\u2192_validation_requires_cakupan__imunisasi":0.759,"P\\Tests\\Feature\\Kesehatan\\JenisPenyakitCrudTest::__pest_evaluable__Jenis_Penyakit_CRUD__\u2192_index_displays_jenis_penyakit_list_view":1.126,"P\\Tests\\Feature\\Kesehatan\\JenisPenyakitCrudTest::__pest_evaluable__Jenis_Penyakit_CRUD__\u2192_store_creates_new_jenis_penyakit_successfully":0.835,"P\\Tests\\Feature\\Kesehatan\\JenisPenyakitCrudTest::__pest_evaluable__Jenis_Penyakit_CRUD__\u2192_store_fails_with_invalid_data":0.733,"P\\Tests\\Feature\\Kesehatan\\JenisPenyakitCrudTest::__pest_evaluable__Jenis_Penyakit_CRUD__\u2192_edit_returns_jenis_penyakit_data_as_JSON":0.738,"P\\Tests\\Feature\\Kesehatan\\JenisPenyakitCrudTest::__pest_evaluable__Jenis_Penyakit_CRUD__\u2192_update_updates_jenis_penyakit_successfully":0.76,"P\\Tests\\Feature\\Kesehatan\\JenisPenyakitCrudTest::__pest_evaluable__Jenis_Penyakit_CRUD__\u2192_update_fails_with_invalid_data":0.969,"P\\Tests\\Feature\\Kesehatan\\JenisPenyakitCrudTest::__pest_evaluable__Jenis_Penyakit_CRUD__\u2192_destroy_deletes_jenis_penyakit_successfully":0.757,"P\\Tests\\Feature\\Kesehatan\\JenisPenyakitCrudTest::__pest_evaluable__Jenis_Penyakit_CRUD__\u2192_getData_returns_JSON_response_for_DataTables":0.838,"P\\Tests\\Feature\\Kesehatan\\JenisPenyakitCrudTest::__pest_evaluable__Jenis_Penyakit_CRUD__\u2192_validation_requires_nama_field":0.719,"P\\Tests\\Feature\\Kesehatan\\KesehatanDataTablesPostTest::__pest_evaluable__DataTables_Menu_Kesehatan_via_POST__\u2192_AKI_AKB_getdata_menerima_POST_dan_mengembalikan_struktur_DataTables":0.832,"P\\Tests\\Feature\\Kesehatan\\KesehatanDataTablesPostTest::__pest_evaluable__DataTables_Menu_Kesehatan_via_POST__\u2192_Imunisasi_getdata_menerima_POST_dan_mengembalikan_struktur_DataTables":0.77,"P\\Tests\\Feature\\Kesehatan\\KesehatanDataTablesPostTest::__pest_evaluable__DataTables_Menu_Kesehatan_via_POST__\u2192_Epidemi_Penyakit_getdata_menerima_POST_dan_mengembalikan_struktur_DataTables":0.82,"P\\Tests\\Feature\\Kesehatan\\KesehatanDataTablesPostTest::__pest_evaluable__DataTables_Menu_Kesehatan_via_POST__\u2192_endpoint_getdata_kesehatan_tidak_lagi_menerima_GET":0.02,"P\\Tests\\Feature\\Keuangan\\AnggaranDesaCrudTest::__pest_evaluable__Anggaran_Desa_CRUD__\u2192_index_displays_anggaran_desa_list_view":0.894,"P\\Tests\\Feature\\Keuangan\\AnggaranDesaCrudTest::__pest_evaluable__Anggaran_Desa_CRUD__\u2192_import_displays_import_form":1.143,"P\\Tests\\Feature\\Keuangan\\AnggaranDesaCrudTest::__pest_evaluable__Anggaran_Desa_CRUD__\u2192_destroy_deletes_anggaran_desa_successfully":0.768,"P\\Tests\\Feature\\Keuangan\\AnggaranDesaCrudTest::__pest_evaluable__Anggaran_Desa_CRUD__\u2192_export_excel_displays_export_form":0.753,"P\\Tests\\Feature\\Keuangan\\CoaCrudTest::__pest_evaluable__COA_CRUD__\u2192_index_displays_coa_list_view":1.073,"P\\Tests\\Feature\\Keuangan\\CoaCrudTest::__pest_evaluable__COA_CRUD__\u2192_create_displays_coa_creation_form":1.078,"P\\Tests\\Feature\\Keuangan\\CoaCrudTest::__pest_evaluable__COA_CRUD__\u2192_store_creates_new_coa_successfully":0.688,"P\\Tests\\Feature\\Keuangan\\CoaCrudTest::__pest_evaluable__COA_CRUD__\u2192_store_fails_with_invalid_data":0.697,"P\\Tests\\Feature\\Keuangan\\CoaCrudTest::__pest_evaluable__COA_CRUD__\u2192_get__sub__coa_returns_sub_coa_list":0.817,"P\\Tests\\Feature\\Keuangan\\CoaCrudTest::__pest_evaluable__COA_CRUD__\u2192_get__sub__sub__coa_returns_sub_sub_coa_list":0.714,"P\\Tests\\Feature\\LaporanApbdesExportTest::__pest_evaluable_export_excel_laporan_apbdes":0.488,"P\\Tests\\Feature\\LaporanApbdesExportTest::__pest_evaluable_export_excel_laporan_apbdes_with_desa_filter":0.387,"P\\Tests\\Feature\\LaporanApbdesExportTest::__pest_evaluable_export_laporan_apbdes_local_database_no_filter":0.012,"P\\Tests\\Feature\\LaporanApbdesExportTest::__pest_evaluable_export_laporan_apbdes_local_database_with_desa_filter":0.012,"P\\Tests\\Feature\\LaporanApbdesExportTest::__pest_evaluable_export_laporan_apbdes_with_semua_filter":0.01,"P\\Tests\\Feature\\LaporanPendudukExportByIdTest::__pest_evaluable_export_laporan_penduduk_by_id":0.008,"P\\Tests\\Feature\\LaporanPendudukExportByIdTest::__pest_evaluable_export_laporan_penduduk_by_id_returns_correct_data":0.007,"P\\Tests\\Feature\\LaporanPendudukExportByIdTest::__pest_evaluable_export_laporan_penduduk_by_id_headings":0.003,"P\\Tests\\Feature\\LaporanPendudukExportByIdTest::__pest_evaluable_export_laporan_penduduk_by_id_with_special_characters_in_judul":0.006,"P\\Tests\\Feature\\LaporanPendudukExportByIdTest::__pest_evaluable_export_laporan_penduduk_by_id_with_unicode_characters":0.006,"P\\Tests\\Feature\\LaporanPendudukExportByIdTest::__pest_evaluable_export_laporan_penduduk_by_id_with_gabungan_mode_active":0.008,"P\\Tests\\Feature\\LaporanPendudukExportByIdTest::__pest_evaluable_export_laporan_penduduk_by_id_switches_to_local_when_gabungan_inactive":0.008,"P\\Tests\\Feature\\LaporanPendudukExportByIdTest::__pest_evaluable_export_laporan_penduduk_by_id_performance":0.008,"P\\Tests\\Feature\\LaporanPendudukExportTest::__pest_evaluable_export_excel_gabungan_inactive":0.012,"P\\Tests\\Feature\\LaporanPendudukExportTest::__pest_evaluable_export_excel_gabungan_active":0.004,"P\\Tests\\Feature\\LaporanPendudukExportTest::__pest_evaluable_export_laporan_penduduk_headings":0.003,"P\\Tests\\Feature\\LaporanPendudukExportTest::__pest_evaluable_export_laporan_penduduk_local_data":0.009,"P\\Tests\\Feature\\LaporanPendudukExportTest::__pest_evaluable_export_laporan_penduduk_no_data":0.004,"P\\Tests\\Feature\\LaporanPendudukExportTest::__pest_evaluable_export_laporan_penduduk_performance_test":0.08,"P\\Tests\\Feature\\LembagaAnggotaControllerTest::__pest_evaluable_it_can_create_lembaga_anggota":0.782,"P\\Tests\\Feature\\LembagaAnggotaControllerTest::__pest_evaluable_it_can_update_lembaga_anggota":0.769,"P\\Tests\\Feature\\LembagaAnggotaControllerTest::__pest_evaluable_it_can_delete_lembaga_anggota":0.826,"P\\Tests\\Feature\\Livewire\\WidgetControllerTest::__pest_evaluable_component_can_render":3.813,"P\\Tests\\Feature\\Livewire\\WidgetControllerTest::__pest_evaluable_widget_page_contains_livewire_component_with_search_param":0.051,"P\\Tests\\Feature\\Livewire\\WidgetControllerTest::__pest_evaluable_widget_search_shows_correct_results":0.004,"P\\Tests\\Feature\\Livewire\\WidgetControllerTest::__pest_evaluable_can_create_a_widget":0.279,"P\\Tests\\Feature\\LoginControllerTest::__pest_evaluable_login_form_displayed":0.935,"P\\Tests\\Feature\\LoginControllerTest::__pest_evaluable_login_success_redirects_to_home":0.733,"P\\Tests\\Feature\\LoginControllerTest::__pest_evaluable_login_with_wrong_password_fails":0.956,"P\\Tests\\Feature\\LoginControllerTest::__pest_evaluable_login_requires_captcha":0.969,"P\\Tests\\Feature\\LoginControllerTest::__pest_evaluable_login_with_2fa_enabled_redirects_to_token":0.7,"P\\Tests\\Feature\\MaintenanceModeTest::__pest_evaluable_it_aborts_with_503_when_maintenance_mode_is_enabled":0.77,"P\\Tests\\Feature\\MaintenanceModeTest::__pest_evaluable_it_allows_request_when_maintenance_mode_is_disabled":1.682,"P\\Tests\\Feature\\MasterData\\DataDesaCrudTest::__pest_evaluable__Data_Desa_CRUD__\u2192_index_displays_data_desa_list_view":0.959,"P\\Tests\\Feature\\MasterData\\DataDesaCrudTest::__pest_evaluable__Data_Desa_CRUD__\u2192_create_displays_data_desa_creation_form":2.183,"P\\Tests\\Feature\\MasterData\\DataDesaCrudTest::__pest_evaluable__Data_Desa_CRUD__\u2192_store_fails_with_invalid_data":0.689,"P\\Tests\\Feature\\MasterData\\DataDesaCrudTest::__pest_evaluable__Data_Desa_CRUD__\u2192_edit_displays_edit_form":2.039,"P\\Tests\\Feature\\MasterData\\DataDesaCrudTest::__pest_evaluable__Data_Desa_CRUD__\u2192_destroy_deletes_data_desa_successfully":0.756,"P\\Tests\\Feature\\MasterData\\DataDesaCrudTest::__pest_evaluable__Data_Desa_CRUD__\u2192_destroy_fails_if_desa_is_used_in_other_modules":1.053,"P\\Tests\\Feature\\MasterData\\DataDesaCrudTest::__pest_evaluable__Data_Desa_CRUD__\u2192_getDataDesa_returns_JSON_response_for_DataTables":0.829,"P\\Tests\\Feature\\MasterData\\DataDesaCrudTest::__pest_evaluable__Data_Desa_CRUD__\u2192_validation_requires_unique_desa__id":0.728,"P\\Tests\\Feature\\MasterData\\KeluargaCrudTest::__pest_evaluable__Keluarga_CRUD__\u2192_index_displays_keluarga_list_view":0.967,"P\\Tests\\Feature\\MasterData\\KeluargaCrudTest::__pest_evaluable__Keluarga_CRUD__\u2192_show_displays_keluarga_detail":1.374,"P\\Tests\\Feature\\MasterData\\KeluargaCrudTest::__pest_evaluable__Keluarga_CRUD__\u2192_export_excel_displays_export_form":0.792,"P\\Tests\\Feature\\MasterData\\PendudukCrudTest::__pest_evaluable__Penduduk_CRUD__\u2192_index_displays_penduduk_list_view":1.163,"P\\Tests\\Feature\\MasterData\\PendudukCrudTest::__pest_evaluable__Penduduk_CRUD__\u2192_import_displays_import_form":1.004,"P\\Tests\\Feature\\MasterData\\PendudukCrudTest::__pest_evaluable__Penduduk_CRUD__\u2192_show_displays_penduduk_detail":1.887,"P\\Tests\\Feature\\MasterData\\PendudukCrudTest::__pest_evaluable__Penduduk_CRUD__\u2192_export_excel_displays_export_form":0.836,"P\\Tests\\Feature\\MasterData\\ProfilKecamatanTest::__pest_evaluable__Profil_Kecamatan_CRUD__\u2192_index_displays_profil_edit_view":2.369,"P\\Tests\\Feature\\MediaSosialControllerTest::__pest_evaluable_display_the_media_sosial_index_page":0.93,"P\\Tests\\Feature\\MediaSosialControllerTest::__pest_evaluable_create_a_media_sosial":0.742,"P\\Tests\\Feature\\MediaSosialControllerTest::__pest_evaluable_update_a_media_sosial":0.813,"P\\Tests\\Feature\\MediaSosialControllerTest::__pest_evaluable_delete_a_media_sosial":0.784,"P\\Tests\\Feature\\NavMenuControllerTest::__pest_evaluable_index_displays_nav_menu_page":0.01,"P\\Tests\\Feature\\NavMenuControllerTest::__pest_evaluable_store_saves_nav_menu":1.631,"P\\Tests\\Feature\\OtpLoginTest::__pest_evaluable_user_can_request_otp_for_login":0.742,"P\\Tests\\Feature\\OtpLoginTest::__pest_evaluable_user_can_login_with_valid_otp":0.736,"P\\Tests\\Feature\\OtpLoginTest::__pest_evaluable_user_cannot_login_with_invalid_otp":0.796,"P\\Tests\\Feature\\OtpLoginTest::__pest_evaluable_user_without_otp_enabled_cannot_request_otp":0.695,"P\\Tests\\Feature\\OtpLoginTest::__pest_evaluable_otp_login_requires_valid_session":0.705,"P\\Tests\\Feature\\OtpLoginTest::__pest_evaluable_otp_expires_after_timeout":0.686,"P\\Tests\\Feature\\PembangunanExportTest::__pest_evaluable_export_excel_pembangunan":0.757,"P\\Tests\\Feature\\PembangunanExportTest::__pest_evaluable_export_excel_pembangunan_with_desa_filter":0.747,"P\\Tests\\Feature\\PembangunanExportTest::__pest_evaluable_export_pembangunan_local_database_no_filter":0.014,"P\\Tests\\Feature\\PembangunanExportTest::__pest_evaluable_export_pembangunan_local_database_with_desa_filter":0.014,"P\\Tests\\Feature\\PembangunanExportTest::__pest_evaluable_export_pembangunan_with_semua_filter":0.014,"P\\Tests\\Feature\\PendidikanDataTablesPostTest::__pest_evaluable__DataTables_Menu_Pendidikan_via_POST__\u2192_Tingkat_Pendidikan_getdata_menerima_POST_dan_mengembalikan_struktur_DataTables":0.845,"P\\Tests\\Feature\\PendidikanDataTablesPostTest::__pest_evaluable__DataTables_Menu_Pendidikan_via_POST__\u2192_Putus_Sekolah_getdata_menerima_POST_dan_mengembalikan_struktur_DataTables":0.826,"P\\Tests\\Feature\\PendidikanDataTablesPostTest::__pest_evaluable__DataTables_Menu_Pendidikan_via_POST__\u2192_Fasilitas_PAUD_getdata_menerima_POST_dan_mengembalikan_struktur_DataTables":0.826,"P\\Tests\\Feature\\PendidikanDataTablesPostTest::__pest_evaluable__DataTables_Menu_Pendidikan_via_POST__\u2192_endpoint_getdata_pendidikan_tidak_lagi_menerima_GET":0.019,"P\\Tests\\Feature\\PendudukExportTest::__pest_evaluable_export_excel":0.41,"P\\Tests\\Feature\\PendudukExportTest::__pest_evaluable_export_penduduk_headings":0.004,"P\\Tests\\Feature\\PendudukExportTest::__pest_evaluable_export_penduduk_with_empty_database":0.005,"P\\Tests\\Feature\\PendudukExportTest::__pest_evaluable_export_penduduk_with_data":0.024,"P\\Tests\\Feature\\PendudukExportTest::__pest_evaluable_export_penduduk_with_pagination_params":0.183,"P\\Tests\\Feature\\PendudukExportTest::__pest_evaluable_export_penduduk_with_search_filter":0.033,"P\\Tests\\Feature\\PendudukExportTest::__pest_evaluable_export_penduduk_database_gabungan_mode":0.004,"P\\Tests\\Feature\\PendudukExportTest::__pest_evaluable_export_penduduk_with_null_relationships":0.02,"P\\Tests\\Feature\\PendudukExportTest::__pest_evaluable_export_penduduk_with_special_characters":0.025,"P\\Tests\\Feature\\PendudukExportTest::__pest_evaluable_export_penduduk_with_unicode_characters":0.024,"P\\Tests\\Feature\\PendudukExportTest::__pest_evaluable_export_penduduk_performance_small_dataset":0.409,"P\\Tests\\Feature\\PendudukExportTest::__pest_evaluable_export_penduduk_performance_medium_dataset":1.488,"P\\Tests\\Feature\\PendudukExportTest::__pest_evaluable_export_penduduk_with_various_tanggal__lahir_formats":0.035,"P\\Tests\\Feature\\PendudukExportTest::__pest_evaluable_export_penduduk_memory_usage":3.769,"P\\Tests\\Feature\\Permission\\RolePermissionFormTest::__pest_evaluable__Role_Permission_Form_Display__\u2192_role_permission_form_displays_permission_list":1.908,"P\\Tests\\Feature\\Permission\\RolePermissionFormTest::__pest_evaluable__Role_Permission_Form_Display__\u2192_permission_name_displays_as_friendly_name_on_edit_page":1.654,"P\\Tests\\Feature\\Permission\\RolePermissionFormTest::__pest_evaluable__Role_Permission_Form_Display__\u2192_all_permissions_from_seeder_are_displayed_in_permission_list":1.481,"P\\Tests\\Feature\\Permission\\RolePermissionFormTest::__pest_evaluable__Role_Permission_Form_Display__\u2192_child_permissions_are_displayed_under_parent":1.496,"P\\Tests\\Feature\\Permission\\RoutePermissionMiddlewareTest::__pest_evaluable__Route_Permission_Middleware__\u2192_dashboard_route_is_accessible_when_user_has_access_dashboard_permission":1.072,"P\\Tests\\Feature\\Permission\\RoutePermissionMiddlewareTest::__pest_evaluable__Route_Permission_Middleware__\u2192_counter_route_is_accessible_when_user_has_access_counter_permission":1.346,"P\\Tests\\Feature\\Permission\\RoutePermissionMiddlewareTest::__pest_evaluable__Route_Permission_Middleware__\u2192_informasi_prosedur_route_requires_permission":0.92,"P\\Tests\\Feature\\Permission\\RoutePermissionMiddlewareTest::__pest_evaluable__Route_Permission_Middleware__\u2192_data_penduduk_route_requires_permission":0.9,"P\\Tests\\Feature\\Permission\\SidebarMenuVisibilityTest::__pest_evaluable__Sidebar_Menu_Visibility__\u2192_user_sees_dashboard_menu_when_has_access_dashboard_permission":0.828,"P\\Tests\\Feature\\Permission\\SidebarMenuVisibilityTest::__pest_evaluable__Sidebar_Menu_Visibility__\u2192_user_sees_informasi_prosedur_menu_when_has_permission":0.884,"P\\Tests\\Feature\\Permission\\SidebarMenuVisibilityTest::__pest_evaluable__Sidebar_Menu_Visibility__\u2192_user_sees_informasi_artikel_menu_when_has_permission":0.817,"P\\Tests\\Feature\\Permission\\SidebarMenuVisibilityTest::__pest_evaluable__Sidebar_Menu_Visibility__\u2192_sidebar_renders_without_error_for_user_with_multiple_permissions":0.855,"P\\Tests\\Feature\\PermohonanControllerTest::__pest_evaluable_index_menampilkan_view_permohonan":0.959,"P\\Tests\\Feature\\PermohonanControllerTest::__pest_evaluable_show_menampilkan_detail_permohonan_surat":0.976,"P\\Tests\\Feature\\PermohonanControllerTest::__pest_evaluable_tolak_memperbarui_status_surat_ke_ditolak":0.93,"P\\Tests\\Feature\\PermohonanControllerTest::__pest_evaluable_ditolak_menampilkan_view_ditolak":0.947,"P\\Tests\\Feature\\PesanControllerTest::__pest_evaluable_index":1.175,"P\\Tests\\Feature\\PesanControllerTest::__pest_evaluable_load_pesan_keluar":1.028,"P\\Tests\\Feature\\PesanControllerTest::__pest_evaluable_load_pesan_arsip":1.037,"P\\Tests\\Feature\\PesanControllerTest::__pest_evaluable_read_pesan":1.168,"P\\Tests\\Feature\\PesanControllerTest::__pest_evaluable_compose_pesan":0.917,"P\\Tests\\Feature\\PesanControllerTest::__pest_evaluable_store_compose_pesan_success":0.79,"P\\Tests\\Feature\\PesanControllerTest::__pest_evaluable_store_compose_pesan_failed":0.701,"P\\Tests\\Feature\\PesanControllerTest::__pest_evaluable_set_arsip_pesan":0.701,"P\\Tests\\Feature\\PesanControllerTest::__pest_evaluable_set_multiple_read_pesan_status":0.765,"P\\Tests\\Feature\\PesanControllerTest::__pest_evaluable_set_multiple_arsip_pesan_status":0.742,"P\\Tests\\Feature\\PesanMigrationTest::__pest_evaluable_pesan_can_use_kode_desa_instead_of_id":0.006,"P\\Tests\\Feature\\PesanMigrationTest::__pest_evaluable_das_data_desa_id_is_varchar_type":0.004,"P\\Tests\\Feature\\PesanMigrationTest::__pest_evaluable_pesan_relationship_with_data_desa_works":0.007,"P\\Tests\\Feature\\PesanMigrationTest::__pest_evaluable_pesan_can_handle_null_desa_id":0.004,"P\\Tests\\Feature\\PesanMigrationTest::__pest_evaluable_pesan_handles_nonexistent_desa_id":0.005,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_can_get_all_profiles":0.306,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_can_get_profiles_with_pagination":0.328,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_can_get_profiles_with_sorting":0.323,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_can_get_profiles_with_filter_by_kecamatan_name":0.321,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_can_get_profiles_with_filter_by_kabupaten_name":0.328,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_can_get_profiles_with_filter_by_provinsi_name":0.331,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_can_get_profiles_with_filter_by_kecamatan_id":0.316,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_can_get_profiles_with_search":0.312,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_can_get_profiles_with_include_data_umum":0.333,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_can_get_profiles_with_include_data_desa":0.327,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_can_get_profiles_with_fields":0.327,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_can_get_single_profile_by_id":0.313,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_can_get_single_profile_by_id_with_includes":0.323,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_get_profile_by_non_existent_id_returns_404":0.014,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_validation_error_for_invalid_sort_field":0.316,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_validation_error_for_invalid_order":0.313,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_rate_limiting_headers_are_present":0.313,"P\\Tests\\Feature\\ProfilControllerTest::__pest_evaluable_rate_limiting_configuration_values":0.313,"P\\Tests\\Feature\\ProgramBantuanExportTest::__pest_evaluable_export_excel_program_bantuan":0.404,"P\\Tests\\Feature\\ProgramBantuanExportTest::__pest_evaluable_export_excel_program_bantuan_with_desa_filter":0.394,"P\\Tests\\Feature\\ProgramBantuanExportTest::__pest_evaluable_export_program_bantuan_local_database_no_filter":0.014,"P\\Tests\\Feature\\ProgramBantuanExportTest::__pest_evaluable_export_program_bantuan_local_database_with_desa_filter":0.013,"P\\Tests\\Feature\\ProgramBantuanExportTest::__pest_evaluable_export_program_bantuan_with_semua_filter":0.017,"P\\Tests\\Feature\\ProgramBantuanExportTest::__pest_evaluable_export_program_bantuan_headings":0.003,"P\\Tests\\Feature\\ProgramBantuanExportTest::__pest_evaluable_export_program_bantuan_with_empty_database":0.005,"P\\Tests\\Feature\\ProgramBantuanExportTest::__pest_evaluable_export_program_bantuan_mapping_with_dates":0.008,"P\\Tests\\Feature\\ProgramBantuanExportTest::__pest_evaluable_export_program_bantuan_with_null_dates":0.008,"P\\Tests\\Feature\\ProgramBantuanExportTest::__pest_evaluable_export_program_bantuan_with_various_sasaran_values":0.012,"P\\Tests\\Feature\\ProgramBantuanExportTest::__pest_evaluable_export_program_bantuan_with_special_characters":0.01,"P\\Tests\\Feature\\ProgramBantuanExportTest::__pest_evaluable_export_program_bantuan_performance_test":0.156,"P\\Tests\\Feature\\ProgramBantuanExportTest::__pest_evaluable_export_program_bantuan_with_multiple_desa":0.018,"P\\Tests\\Feature\\ProgramBantuanExportTest::__pest_evaluable_export_program_bantuan_styles":0.003,"P\\Tests\\Feature\\ProgramBantuanExportTest::__pest_evaluable_export_program_bantuan_with_null_desa_relationship":0.007,"P\\Tests\\Feature\\ProgramBantuanExportTest::__pest_evaluable_export_program_bantuan_memory_usage":0.375,"P\\Tests\\Feature\\PutusSekolahExportTest::__pest_evaluable_dapat_mengakses_halaman_export_putus_sekolah":0.452,"P\\Tests\\Feature\\PutusSekolahExportTest::__pest_evaluable_dapat_export_data_putus_sekolah_kosong":0.432,"P\\Tests\\Feature\\PutusSekolahExportTest::__pest_evaluable_dapat_export_data_putus_sekolah_dengan_data":0.475,"P\\Tests\\Feature\\PutusSekolahExportTest::__pest_evaluable_export_putus_sekolah_menghasilkan_filename_dengan_timestamp":0.437,"P\\Tests\\Feature\\PutusSekolahExportTest::__pest_evaluable_export_putus_sekolah_memiliki_header_yang_benar":0.425,"P\\Tests\\Feature\\PutusSekolahExportTest::__pest_evaluable_dependencies_are_working":0.021,"P\\Tests\\Feature\\PutusSekolahExportTest::__pest_evaluable_unauthorized_access_denied":0.414,"P\\Tests\\Feature\\PutusSekolahExportTest::__pest_evaluable_export_functionality_unit":0.022,"P\\Tests\\Feature\\PutusSekolahExportTest::__pest_evaluable_export_with_various_data_scenarios":0.427,"P\\Tests\\Feature\\PutusSekolahExportTest::__pest_evaluable_export_handles_edge_cases":0.444,"P\\Tests\\Feature\\PutusSekolahExportTest::__pest_evaluable_export_data_validation":0.018,"P\\Tests\\Feature\\Security\\ApiSecurityTest::__pest_evaluable_Purify_strips_script_tags_from_input":0.022,"P\\Tests\\Feature\\Security\\ApiSecurityTest::__pest_evaluable_Purify_strips_onerror_event_handlers_from_input":0.028,"P\\Tests\\Feature\\Security\\ApiSecurityTest::__pest_evaluable_Purify_strips_javascript__href_links_from_input":0.022,"P\\Tests\\Feature\\Security\\ApiSecurityTest::__pest_evaluable_Purify_preserves_safe_HTML_content":0.049,"P\\Tests\\Feature\\Security\\ApiSecurityTest::__pest_evaluable_api_returns_proper_JSON_content_type_header":0.676,"P\\Tests\\Feature\\Security\\ApiSecurityTest::__pest_evaluable_api_returns_Access_Control_Allow_Origin_header_on_OPTIONS_request":0.024,"P\\Tests\\Feature\\Security\\ApiSecurityTest::__pest_evaluable_api_allows_any_frontend_origin_via_wildcard_CORS_policy":0.019,"P\\Tests\\Feature\\Security\\ApiSecurityTest::__pest_evaluable_public_artikel_API_responds_within_1_second":0.347,"P\\Tests\\Feature\\Security\\ApiSecurityTest::__pest_evaluable_public_desa_API_responds_within_1_second":0.365,"P\\Tests\\Feature\\Security\\ApiSecurityTest::__pest_evaluable_unauthenticated_requests_to_internal_API_are_rejected_quickly":0.028,"P\\Tests\\Feature\\Security\\FileUploadSecurityTest::__pest_evaluable__File_Upload_Security__\u2192_mencegah_path_traversal_attack":0.757,"P\\Tests\\Feature\\Security\\FileUploadSecurityTest::__pest_evaluable__File_Upload_Security__\u2192_menolak_file_PHP":0.742,"P\\Tests\\Feature\\Security\\FileUploadSecurityTest::__pest_evaluable__File_Upload_Security__\u2192_validasi_MIME_type_mendalam":0.811,"P\\Tests\\Feature\\Security\\MassAssignmentTest::__pest_evaluable__Mass_Assignment_Protection__\u2192_penduduk_model_mencegah_mass_assignment_semua_field_via_guarded":0.003,"P\\Tests\\Feature\\Security\\MassAssignmentTest::__pest_evaluable__Mass_Assignment_Protection__\u2192_user_model_mencegah_mass_assignment_field_sensitif":0.003,"P\\Tests\\Feature\\Security\\SecurityTest::__pest_evaluable_mencegah_path_traversal_attack_pada_upload_file":0.73,"P\\Tests\\Feature\\Security\\SecurityTest::__pest_evaluable_menolak_file_dengan_MIME_type_berbahaya":0.71,"P\\Tests\\Feature\\Security\\SecurityTest::__pest_evaluable_mencegah_SQL_injection_di_whereRaw":0.759,"P\\Tests\\Feature\\Security\\SecurityTest::__pest_evaluable_memblokir_setelah_5_percobaan_login_gagal":0.725,"P\\Tests\\Feature\\Security\\SecurityTest::__pest_evaluable_membersihkan_XSS_dari_input":0.724,"P\\Tests\\Feature\\Security\\ThemeUploadSecurityTest::__pest_evaluable__Theme_Upload_Security__RCE_Prevention___\u2192_super__admin__can__access__upload__page":1.037,"P\\Tests\\Feature\\Security\\ThemeUploadSecurityTest::__pest_evaluable__Theme_Upload_Security__RCE_Prevention___\u2192_administrator__website__forbidden__from__upload":0.796,"P\\Tests\\Feature\\Security\\ThemeUploadSecurityTest::__pest_evaluable__Theme_Upload_Security__RCE_Prevention___\u2192_upload__with__php__in__zip__is__rejected":0.725,"P\\Tests\\Feature\\Security\\ThemeUploadSecurityTest::__pest_evaluable__Theme_Upload_Security__RCE_Prevention___\u2192_upload__with__path__traversal__in__zip__is__rejected":0.726,"P\\Tests\\Feature\\Security\\ThemeUploadSecurityTest::__pest_evaluable__Theme_Upload_Security__RCE_Prevention___\u2192_activate__with__clean__hooks__succeeds":0.744,"P\\Tests\\Feature\\Security\\ThemeUploadSecurityTest::__pest_evaluable__Theme_Upload_Security__RCE_Prevention___\u2192_activate__with__malicious__hooks__redirects__with__error":0.74,"P\\Tests\\Feature\\Security\\ThemeUploadSecurityTest::__pest_evaluable__Theme_Upload_Security__RCE_Prevention___\u2192_hooks__with__call__user__func__is__rejected":0.76,"P\\Tests\\Feature\\Security\\ThemeUploadSecurityTest::__pest_evaluable__Theme_Upload_Security__RCE_Prevention___\u2192_hooks__with__call__user__func__array__is__rejected":0.74,"P\\Tests\\Feature\\Security\\ThemeUploadSecurityTest::__pest_evaluable__Theme_Upload_Security__RCE_Prevention___\u2192_hooks__with__variable__function__call__is__rejected":0.703,"P\\Tests\\Feature\\Settings\\RolePermissionCrudTest::__pest_evaluable__Role_and_Permission_CRUD__\u2192_index_displays_role_list_view":0.946,"P\\Tests\\Feature\\Settings\\RolePermissionCrudTest::__pest_evaluable__Role_and_Permission_CRUD__\u2192_store_creates_new_role_successfully":0.769,"P\\Tests\\Feature\\Settings\\RolePermissionCrudTest::__pest_evaluable__Role_and_Permission_CRUD__\u2192_update_updates_role_successfully":0.74,"P\\Tests\\Feature\\Settings\\RolePermissionCrudTest::__pest_evaluable__Role_and_Permission_CRUD__\u2192_destroy_deletes_role_successfully":0.71,"P\\Tests\\Feature\\Settings\\RolePermissionCrudTest::__pest_evaluable__Role_and_Permission_CRUD__\u2192_role_can_be_assigned_to_user":0.024,"P\\Tests\\Feature\\Settings\\RolePermissionCrudTest::__pest_evaluable__Role_and_Permission_CRUD__\u2192_users_page_displays_users_by_role":0.832,"P\\Tests\\Feature\\Settings\\RolePermissionCrudTest::__pest_evaluable__Role_and_Permission_CRUD__\u2192_getDataUsersByRole_returns_users_data":0.731,"P\\Tests\\Feature\\Settings\\SettingAplikasiCrudTest::__pest_evaluable__Setting_Aplikasi_CRUD__\u2192_index_displays_setting_aplikasi_list_view":0.916,"P\\Tests\\Feature\\Settings\\SettingAplikasiCrudTest::__pest_evaluable__Setting_Aplikasi_CRUD__\u2192_edit_displays_edit_form":1.191,"P\\Tests\\Feature\\Settings\\SettingAplikasiCrudTest::__pest_evaluable__Setting_Aplikasi_CRUD__\u2192_update_updates_setting_successfully":0.662,"P\\Tests\\Feature\\Settings\\SettingAplikasiCrudTest::__pest_evaluable__Setting_Aplikasi_CRUD__\u2192_update_fails_with_invalid_data":0.671,"P\\Tests\\Feature\\Settings\\SettingAplikasiCrudTest::__pest_evaluable__Setting_Aplikasi_CRUD__\u2192_settings_are_loaded_correctly":0.854,"P\\Tests\\Feature\\Settings\\SettingAplikasiCrudTest::__pest_evaluable__Setting_Aplikasi_CRUD__\u2192_settings_with_kategori_surat_are_excluded":0.822,"P\\Tests\\Feature\\Settings\\SettingAplikasiCrudTest::__pest_evaluable__Setting_Aplikasi_CRUD__\u2192_validation_requires_value_field":0.676,"P\\Tests\\Feature\\Settings\\SettingAplikasiCrudTest::__pest_evaluable__Setting_Aplikasi_CRUD__\u2192_update_clears_cache_after_successful_update":0.843,"P\\Tests\\Feature\\Settings\\SettingDataTablesPostTest::__pest_evaluable__DataTables_Tipe_Regulasi_via_POST__\u2192_endpoint_getdata_menerima_POST_dan_mengembalikan_struktur_DataTables":0.794,"P\\Tests\\Feature\\Settings\\SettingDataTablesPostTest::__pest_evaluable__DataTables_Tipe_Regulasi_via_POST__\u2192_POST_ke_getdata_mengembalikan_kolom_yang_diharapkan":0.848,"P\\Tests\\Feature\\Settings\\SettingDataTablesPostTest::__pest_evaluable__DataTables_Tipe_Regulasi_via_POST__\u2192_GET_pada_getdata_masih_berfungsi__backward_compatible_":0.811,"P\\Tests\\Feature\\Settings\\SettingDataTablesPostTest::__pest_evaluable__DataTables_Grup_Pengguna_via_POST__\u2192_endpoint_getdata_menerima_POST_dan_mengembalikan_struktur_DataTables":0.735,"P\\Tests\\Feature\\Settings\\SettingDataTablesPostTest::__pest_evaluable__DataTables_Grup_Pengguna_via_POST__\u2192_POST_ke_getdata_mengembalikan_kolom_name_dan_users__count":0.793,"P\\Tests\\Feature\\Settings\\SettingDataTablesPostTest::__pest_evaluable__DataTables_Grup_Pengguna_via_POST__\u2192_GET_pada_getdata_masih_berfungsi__backward_compatible_":0.788,"P\\Tests\\Feature\\Settings\\SettingDataTablesPostTest::__pest_evaluable__DataTables_Pengguna_via_POST__\u2192_endpoint_getdata_menerima_POST_dan_mengembalikan_struktur_DataTables":0.816,"P\\Tests\\Feature\\Settings\\SettingDataTablesPostTest::__pest_evaluable__DataTables_Pengguna_via_POST__\u2192_POST_ke_getdata_mengembalikan_kolom_yang_diharapkan":0.829,"P\\Tests\\Feature\\Settings\\SettingDataTablesPostTest::__pest_evaluable__DataTables_Pengguna_via_POST__\u2192_GET_pada_getdata_masih_berfungsi__backward_compatible_":0.846,"P\\Tests\\Feature\\Settings\\SettingDataTablesPostTest::__pest_evaluable__DataTables_Pengaturan_Database_via_POST__\u2192_endpoint_getdata_menerima_POST_dan_mengembalikan_struktur_DataTables":0.305,"P\\Tests\\Feature\\Settings\\SettingDataTablesPostTest::__pest_evaluable__DataTables_Pengaturan_Database_via_POST__\u2192_GET_pada_getdata_masih_berfungsi__backward_compatible_":0.294,"P\\Tests\\Feature\\Settings\\SikemaDataTablesPostTest::__pest_evaluable__DataTables_Admin_SIKEMA_Daftar_Keluhan_via_POST__\u2192_endpoint_getdata_menerima_POST_dan_mengembalikan_struktur_DataTables":0.752,"P\\Tests\\Feature\\Settings\\SikemaDataTablesPostTest::__pest_evaluable__DataTables_Admin_SIKEMA_Daftar_Keluhan_via_POST__\u2192_POST_ke_getdata_mengembalikan_kolom_yang_diharapkan":0.775,"P\\Tests\\Feature\\Settings\\SikemaDataTablesPostTest::__pest_evaluable__DataTables_Admin_SIKEMA_Daftar_Keluhan_via_POST__\u2192_GET_pada_getdata_masih_berfungsi__backward_compatible_":0.674,"P\\Tests\\Feature\\Settings\\SikemaDataTablesPostTest::__pest_evaluable__DataTables_Admin_SIKEMA_Daftar_Keluhan_via_POST__\u2192_POST_dengan_draw_parameter_dikembalikan_kembali_dalam_response":0.643,"P\\Tests\\Feature\\Settings\\UserManagementCrudTest::__pest_evaluable__User_Management_CRUD__\u2192_index_displays_user_list_view":0.845,"P\\Tests\\Feature\\Settings\\UserManagementCrudTest::__pest_evaluable__User_Management_CRUD__\u2192_create_displays_user_creation_form":1.129,"P\\Tests\\Feature\\Settings\\UserManagementCrudTest::__pest_evaluable__User_Management_CRUD__\u2192_store_creates_new_user_successfully":0.84,"P\\Tests\\Feature\\Settings\\UserManagementCrudTest::__pest_evaluable__User_Management_CRUD__\u2192_store_fails_with_invalid_data":0.81,"P\\Tests\\Feature\\Settings\\UserManagementCrudTest::__pest_evaluable__User_Management_CRUD__\u2192_edit_displays_edit_form_for_super_admin":0.86,"P\\Tests\\Feature\\Settings\\UserManagementCrudTest::__pest_evaluable__User_Management_CRUD__\u2192_update_updates_user_successfully":0.74,"P\\Tests\\Feature\\Settings\\UserManagementCrudTest::__pest_evaluable__User_Management_CRUD__\u2192_destroy_deactivates_user_successfully":0.709,"P\\Tests\\Feature\\Settings\\UserManagementCrudTest::__pest_evaluable__User_Management_CRUD__\u2192_active_activates_user_successfully":0.681,"P\\Tests\\Feature\\Settings\\UserManagementCrudTest::__pest_evaluable__User_Management_CRUD__\u2192_getDataUser_returns_JSON_response_for_DataTables":0.851,"P\\Tests\\Feature\\Settings\\UserManagementCrudTest::__pest_evaluable__User_Management_CRUD__\u2192_validation_requires_unique_email":0.673,"P\\Tests\\Feature\\Settings\\UserManagementCrudTest::__pest_evaluable__User_Management_CRUD__\u2192_validation_requires_strong_password":0.666,"P\\Tests\\Feature\\Settings\\UserManagementCrudTest::__pest_evaluable__User_Management_CRUD__\u2192_permanentDestroy_soft_deletes_user_successfully":0.716,"P\\Tests\\Feature\\Settings\\UserManagementCrudTest::__pest_evaluable__User_Management_CRUD__\u2192_soft_deleted_user_does_not_appear_in_user_list":0.8,"P\\Tests\\Feature\\SinergiProgramControllerTest::__pest_evaluable_index":1.324,"P\\Tests\\Feature\\SinergiProgramControllerTest::__pest_evaluable_get_data_sinergi_program":0.988,"P\\Tests\\Feature\\SinergiProgramControllerTest::__pest_evaluable_create":1.019,"P\\Tests\\Feature\\SinergiProgramControllerTest::__pest_evaluable_store_success":0.725,"P\\Tests\\Feature\\SinergiProgramControllerTest::__pest_evaluable_store_failed":0.659,"P\\Tests\\Feature\\SinergiProgramControllerTest::__pest_evaluable_edit":0.933,"P\\Tests\\Feature\\SinergiProgramControllerTest::__pest_evaluable_update_success":0.902,"P\\Tests\\Feature\\SinergiProgramControllerTest::__pest_evaluable_update_failed":1.27,"P\\Tests\\Feature\\SinergiProgramControllerTest::__pest_evaluable_destroy_success":0.665,"P\\Tests\\Feature\\SistemKomplainControllerTest::__pest_evaluable_get_kirim_form_komplain":1.001,"P\\Tests\\Feature\\SistemKomplainControllerTest::__pest_evaluable_komplain_store_with_valid_data":0.013,"P\\Tests\\Feature\\SuplemenExportTest::__pest_evaluable_export_excel_suplemen":0.364,"P\\Tests\\Feature\\SuplemenExportTest::__pest_evaluable_export_excel_suplemen_with_filters":0.396,"P\\Tests\\Feature\\SuplemenExportTest::__pest_evaluable_export_suplemen_no_filter":0.012,"P\\Tests\\Feature\\SuplemenExportTest::__pest_evaluable_export_suplemen_with_nama_filter":0.008,"P\\Tests\\Feature\\SuplemenExportTest::__pest_evaluable_export_suplemen_with_sasaran_filter":0.007,"P\\Tests\\Feature\\SuplemenExportTest::__pest_evaluable_export_excel_suplemen_terdata":0.375,"P\\Tests\\Feature\\SuplemenExportTest::__pest_evaluable_export_suplemen_terdata_with_desa_filter":0.371,"P\\Tests\\Feature\\SuplemenExportTest::__pest_evaluable_export_suplemen_headings":0.003,"P\\Tests\\Feature\\SuplemenExportTest::__pest_evaluable_export_suplemen_mapping":0.004,"P\\Tests\\Feature\\SuplemenExportTest::__pest_evaluable_export_suplemen_terdata_headings":0.002,"P\\Tests\\Feature\\SuplemenExportTest::__pest_evaluable_export_suplemen_styles":0.003,"P\\Tests\\Feature\\SuplemenExportTest::__pest_evaluable_export_suplemen_terdata_by_id":0.043,"P\\Tests\\Feature\\SuplemenExportTest::__pest_evaluable_export_suplemen_terdata_by_id_with_invalid_id_returns_empty":0.005,"P\\Tests\\Feature\\SuplemenExportTest::__pest_evaluable_export_suplemen_terdata_by_id_with_multiple_terdata":0.043,"P\\Tests\\Feature\\Surat\\PermohonanPratinjauSuratTest::__pest_evaluable_preview_file_url_is_correct":0.01,"P\\Tests\\Feature\\TingkatPendidikanExportTest::__pest_evaluable_dapat_mengakses_halaman_export_tingkat_pendidikan":0.43,"P\\Tests\\Feature\\TingkatPendidikanExportTest::__pest_evaluable_dapat_export_data_tingkat_pendidikan_kosong":0.363,"P\\Tests\\Feature\\TingkatPendidikanExportTest::__pest_evaluable_dapat_export_data_tingkat_pendidikan_dengan_data":0.431,"P\\Tests\\Feature\\TingkatPendidikanExportTest::__pest_evaluable_export_tingkat_pendidikan_menghasilkan_filename_dengan_timestamp":0.403,"P\\Tests\\Feature\\TingkatPendidikanExportTest::__pest_evaluable_export_tingkat_pendidikan_memiliki_header_yang_benar":0.398,"P\\Tests\\Feature\\TingkatPendidikanExportTest::__pest_evaluable_dependencies_are_working":0.003,"P\\Tests\\Feature\\TingkatPendidikanExportTest::__pest_evaluable_unauthorized_access_denied":0.495,"P\\Tests\\Feature\\TingkatPendidikanExportTest::__pest_evaluable_export_functionality_unit":0.007,"P\\Tests\\Feature\\TingkatPendidikanExportTest::__pest_evaluable_export_with_various_data_scenarios":1.191,"P\\Tests\\Feature\\TingkatPendidikanExportTest::__pest_evaluable_export_handles_edge_cases":0.447,"P\\Tests\\Feature\\ToiletSanitasiExportTest::__pest_evaluable_dapat_mengakses_halaman_export_toilet_sanitasi":0.399,"P\\Tests\\Feature\\ToiletSanitasiExportTest::__pest_evaluable_dapat_export_data_toilet_sanitasi_kosong":0.387,"P\\Tests\\Feature\\ToiletSanitasiExportTest::__pest_evaluable_dapat_export_data_toilet_sanitasi_dengan_data":0.42,"P\\Tests\\Feature\\ToiletSanitasiExportTest::__pest_evaluable_export_toilet_sanitasi_menghasilkan_filename_dengan_timestamp":0.381,"P\\Tests\\Feature\\ToiletSanitasiExportTest::__pest_evaluable_export_toilet_sanitasi_memiliki_header_yang_benar":0.388,"P\\Tests\\Feature\\TokenRegisteredMiddlewareTest::__pest_evaluable_can_access_api_when_token_registered":0.284,"P\\Tests\\Feature\\TokenRegisteredMiddlewareTest::__pest_evaluable_can_access_api_when_token_not_registered":0.304,"P\\Tests\\Feature\\TwoFactorLoginTest::__pest_evaluable_user_with_2fa_redirected_to_verification_after_password_login":0.663,"P\\Tests\\Feature\\TwoFactorLoginTest::__pest_evaluable_user_can_complete_2fa_login_with_valid_code":0.769,"P\\Tests\\Feature\\TwoFactorLoginTest::__pest_evaluable_user_cannot_complete_2fa_with_invalid_code":0.726,"P\\Tests\\Feature\\TwoFactorLoginTest::__pest_evaluable_2fa_login_requires_valid_session":0.825,"P\\Tests\\Feature\\TwoFactorLoginTest::__pest_evaluable_2fa_code_expires_after_timeout":0.659,"P\\Tests\\Feature\\TwoFactorLoginTest::__pest_evaluable_user_without_2fa_can_login_normally":0.729,"P\\Tests\\Feature\\TwoFactorLoginTest::__pest_evaluable_2fa_fails_after_max_attempts":0.793,"P\\Tests\\Feature\\TwoFactorLoginTest::__pest_evaluable_complete_2fa_login_flow":0.731,"P\\Tests\\Feature\\Upload\\FileUploadTest::__pest_evaluable__File_Upload_Functionality__\u2192__Artikel_Image_Upload__\u2192_can_upload_image_with_artikel":1.203,"P\\Tests\\Feature\\Upload\\FileUploadTest::__pest_evaluable__File_Upload_Functionality__\u2192__Artikel_Image_Upload__\u2192_rejects_non_image_files_for_artikel":1.037,"P\\Tests\\Feature\\Upload\\FileUploadTest::__pest_evaluable__File_Upload_Functionality__\u2192__Artikel_Image_Upload__\u2192_rejects_files_larger_than_max_size":1.134,"P\\Tests\\Feature\\Upload\\FileUploadTest::__pest_evaluable__File_Upload_Functionality__\u2192__Artikel_Image_Upload__\u2192_can_update_artikel_image":1.192,"P\\Tests\\Feature\\Upload\\FileUploadTest::__pest_evaluable__File_Upload_Functionality__\u2192__Event_Attachment_Upload__\u2192_can_upload_attachment_with_event":1.052,"P\\Tests\\Feature\\Upload\\FileUploadTest::__pest_evaluable__File_Upload_Functionality__\u2192__Event_Attachment_Upload__\u2192_can_update_event_attachment":1.107,"P\\Tests\\Feature\\Upload\\FileUploadTest::__pest_evaluable__File_Upload_Functionality__\u2192__Slide_Image_Upload__\u2192_can_upload_image_with_slide":1.014,"P\\Tests\\Feature\\Upload\\FileUploadTest::__pest_evaluable__File_Upload_Functionality__\u2192__Slide_Image_Upload__\u2192_can_update_slide_image":1.158,"P\\Tests\\Feature\\Upload\\FileUploadTest::__pest_evaluable__File_Upload_Functionality__\u2192__Profil_File_Upload__\u2192_can_upload_struktur_organisasi_file":1.08,"P\\Tests\\Feature\\Upload\\FileUploadTest::__pest_evaluable__File_Upload_Functionality__\u2192__Profil_File_Upload__\u2192_can_upload_logo_file":1.081,"P\\Tests\\Feature\\Upload\\FileUploadTest::__pest_evaluable__File_Upload_Functionality__\u2192__File_Upload_Validation__\u2192_validates_file_MIME_type":1.102,"P\\Tests\\Feature\\Upload\\FileUploadTest::__pest_evaluable__File_Upload_Functionality__\u2192__File_Upload_Validation__\u2192_validates_file_is_not_required":1.175,"Tests\\Feature\\UserControllerTest::test_index_displays_user_list_view":0.883,"Tests\\Feature\\UserControllerTest::test_create_displays_user_creation_form":0.928,"Tests\\Feature\\UserControllerTest::test_store_creates_new_user_successfully":0.801,"Tests\\Feature\\UserControllerTest::test_store_fails_with_invalid_data":0.699,"Tests\\Feature\\UserControllerTest::test_edit_displays_form_for_super_admin":0.831,"Tests\\Feature\\UserControllerTest::test_edit_displays_form_for_user_editing_own_profile":0.823,"Tests\\Feature\\UserControllerTest::test_update_updates_user_successfully_for_super_admin":0.808,"Tests\\Feature\\UserControllerTest::test_update_updates_profile_and_redirects_to_dashboard_for_regular_user":0.738,"Tests\\Feature\\UserControllerTest::test_destroy_deactivates_user_successfully":0.668,"Tests\\Feature\\UserControllerTest::test_active_activates_user_successfully":0.667,"Tests\\Feature\\UserControllerTest::test_getDataUser_returns_json_response":0.855,"P\\Tests\\Feature\\Validation\\ValidationRulesTest::__pest_evaluable__Validation_Rules__\u2192__Data_Desa_Validation__\u2192_desa__id_is_required":0.682,"P\\Tests\\Feature\\Validation\\ValidationRulesTest::__pest_evaluable__Validation_Rules__\u2192__Data_Desa_Validation__\u2192_nama_is_required":0.685,"P\\Tests\\Feature\\Validation\\ValidationRulesTest::__pest_evaluable__Validation_Rules__\u2192__Imunisasi_Validation__\u2192_cakupan__imunisasi_is_required":0.854,"P\\Tests\\Feature\\Validation\\ValidationRulesTest::__pest_evaluable__Validation_Rules__\u2192__Artikel_Validation__\u2192_judul_is_required":0.674,"P\\Tests\\Feature\\Validation\\ValidationRulesTest::__pest_evaluable__Validation_Rules__\u2192__Artikel_Validation__\u2192_isi_is_required":0.664,"P\\Tests\\Feature\\Validation\\ValidationRulesTest::__pest_evaluable__Validation_Rules__\u2192__Event_Validation__\u2192_event__name_is_required":0.697,"P\\Tests\\Feature\\WebsiteFooterTest::__pest_evaluable_homepage_footer_contains_sebutan_desa_config":0.696,"P\\Tests\\Feature\\WebsiteFooterTest::__pest_evaluable_berita_desa_page_footer_contains_sebutan_desa_config":1.09,"P\\Tests\\Feature\\WebsiteFooterTest::__pest_evaluable_profil_page_footer_contains_sebutan_desa_config":0.759,"P\\Tests\\Feature\\WebsiteFooterTest::__pest_evaluable_statistik_page_footer_contains_sebutan_desa_config":0.771,"P\\Tests\\Feature\\WebsiteFooterTest::__pest_evaluable_faq_page_footer_contains_sebutan_desa_config":0.784,"P\\Tests\\Feature\\WebsiteFooterTest::__pest_evaluable_footer_contains_sebutan_desa_with_different_values":0.984,"P\\Tests\\Browser\\AccessibilityTest::__pest_evaluable_should_display_accessibility_settings_page":1.642,"P\\Tests\\Browser\\AccessibilityTest::__pest_evaluable_should_have_accessibility_widgets_on_homepage_when_enabled":1.948,"P\\Tests\\Browser\\BaselineTest::__pest_evaluable_can_reach_the_testing_server":1.573,"P\\Tests\\Browser\\DashboardTest::__pest_evaluable_should_display_dashboard_page_correctly_when_authenticated":4.396,"P\\Tests\\Browser\\DashboardTest::__pest_evaluable_should_display_all_required_cards_when_authenticated":4.623,"P\\Tests\\Browser\\DashboardTest::__pest_evaluable_should_check_dashboard_loads_successfully_when_authenticated":4.314,"P\\Tests\\Browser\\DataDesaJourneyTest::__pest_evaluable_admin_can_perform_CRUD_on_data_desa":7.87,"P\\Tests\\Browser\\DataDesaJourneyTest::__pest_evaluable_admin_can_sync_data_desa_from_external_source":1.398,"P\\Tests\\Browser\\DataUmumJourneyTest::__pest_evaluable_admin_can_update_data_umum_info_wilayah":6.202,"P\\Tests\\Browser\\ExampleBrowserTest::__pest_evaluable_homepage_can_be_accessed":1.859,"P\\Tests\\Browser\\ExampleBrowserTest::__pest_evaluable_login_page_has_correct_elements":1.153,"P\\Tests\\Browser\\HomepageTest::__pest_evaluable_should_display_homepage_when_website_is_enabled":1.836,"P\\Tests\\Browser\\HomepageTest::__pest_evaluable_should_have_proper_SEO_and_meta_tags":1.646,"P\\Tests\\Browser\\HomepageTest::__pest_evaluable_should_have_proper_heading_structure":2.01,"P\\Tests\\Browser\\HomepageTest::__pest_evaluable_should_have_responsive_design with data set \"dataset \"mobile\"\"":1.64,"P\\Tests\\Browser\\HomepageTest::__pest_evaluable_should_have_responsive_design with data set \"dataset \"tablet\"\"":1.904,"P\\Tests\\Browser\\HomepageTest::__pest_evaluable_should_have_responsive_design with data set \"dataset \"desktop\"\"":1.637,"P\\Tests\\Browser\\LoginTest::__pest_evaluable_should_display_login_page_correctly":1.302,"P\\Tests\\Browser\\LoginTest::__pest_evaluable_should_login_successfully_with_valid_credentials":1.73,"P\\Tests\\Browser\\LoginTest::__pest_evaluable_should_show_error_for_invalid_credentials":1.633,"P\\Tests\\Browser\\LoginTest::__pest_evaluable_should_validate_required_fields":1.314,"P\\Tests\\Browser\\LoginTest::__pest_evaluable_should_handle_logout_flow":2.677,"P\\Tests\\Browser\\UserJourneyTest::__pest_evaluable_admin_can_create_a_new_user_and_assign_roles":2.988}} \ No newline at end of file diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php deleted file mode 100644 index 1ce566bdf0..0000000000 --- a/app/Console/Kernel.php +++ /dev/null @@ -1,60 +0,0 @@ -command('inspire')->hourly(); - } - - /** - * Register the commands for the application. - * - * @return void - */ - protected function commands() - { - $this->load(__DIR__.'/Commands'); - - require base_path('routes/console.php'); - } -} diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php deleted file mode 100644 index ebae2a7d29..0000000000 --- a/app/Exceptions/Handler.php +++ /dev/null @@ -1,104 +0,0 @@ -, \Psr\Log\LogLevel::*> - */ - protected $levels = [ - // - ]; - - /** - * A list of the exception types that are not reported. - * - * @var array> - */ - protected $dontReport = [ - // - ]; - - /** - * A list of the inputs that are never flashed to the session on validation exceptions. - * - * @var array - */ - protected $dontFlash = [ - // 'current_password', - 'password', - 'password_confirmation', - ]; - - /** - * Register the exception handling callbacks for the application. - * - * @return void - */ - public function register() - { - // $this->reportable(function (Throwable $e) { - // \Sentry\configureScope(function (\Sentry\State\Scope $scope): void { - // $profil = Profil::first(); - // $scope->setUser( - // [ - // 'nama_provinsi' => $profil->nama_provinsi, - // 'nama_kabupaten' => $profil->nama_kabupaten, - // 'nama_kecamatan' => $profil->nama_kecamatan, - // ] - // ); - // if (Auth::check()) { - // $scope->setUser([ - // 'email' => auth()->user()->email, - // 'name' => auth()->user()->name, - // 'role' => Auth::user()->getRoleNames(), - // ]); - // } - // $scope->setTags([ - // 'kecamatan' => $profil->nama_kecamatan, - // 'versi' => config('app.version'), - // ]); - // }); - - // Integration::captureUnhandledException($e); - // }); - } -} diff --git a/app/Http/Controllers/Auth/ConfirmPasswordController.php b/app/Http/Controllers/Auth/ConfirmPasswordController.php index 293facdccc..67168a2678 100644 --- a/app/Http/Controllers/Auth/ConfirmPasswordController.php +++ b/app/Http/Controllers/Auth/ConfirmPasswordController.php @@ -32,7 +32,6 @@ namespace App\Http\Controllers\Auth; use App\Http\Controllers\Controller; -use App\Providers\RouteServiceProvider; use Illuminate\Foundation\Auth\ConfirmsPasswords; class ConfirmPasswordController extends Controller @@ -55,7 +54,7 @@ class ConfirmPasswordController extends Controller * * @var string */ - protected $redirectTo = RouteServiceProvider::HOME; + protected $redirectTo = '/dashboard'; /** * Create a new controller instance. diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php index 0f1e5d5b60..9f258ca9cf 100644 --- a/app/Http/Controllers/Auth/LoginController.php +++ b/app/Http/Controllers/Auth/LoginController.php @@ -34,7 +34,6 @@ use App\Http\Controllers\Controller; use App\Models\User; use App\Notifications\SendToken2FA; -use App\Providers\RouteServiceProvider; use Illuminate\Foundation\Auth\AuthenticatesUsers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Hash; @@ -60,7 +59,7 @@ class LoginController extends Controller * * @var string */ - protected $redirectTo = RouteServiceProvider::HOME; + protected $redirectTo = '/dashboard'; /** * Create a new controller instance. diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index 1e6c791ce3..e43c067e48 100644 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -32,7 +32,6 @@ namespace App\Http\Controllers\Auth; use App\Http\Controllers\Controller; -use App\Providers\RouteServiceProvider; use App\User; use Illuminate\Foundation\Auth\RegistersUsers; use Illuminate\Support\Facades\Hash; @@ -58,7 +57,7 @@ class RegisterController extends Controller * * @var string */ - protected $redirectTo = RouteServiceProvider::HOME; + protected $redirectTo = '/dashboard'; /** * Create a new controller instance. diff --git a/app/Http/Controllers/Auth/ResetPasswordController.php b/app/Http/Controllers/Auth/ResetPasswordController.php index 6ec9ff005a..21142c99c0 100644 --- a/app/Http/Controllers/Auth/ResetPasswordController.php +++ b/app/Http/Controllers/Auth/ResetPasswordController.php @@ -32,7 +32,6 @@ namespace App\Http\Controllers\Auth; use App\Http\Controllers\Controller; -use App\Providers\RouteServiceProvider; use Illuminate\Foundation\Auth\ResetsPasswords; class ResetPasswordController extends Controller @@ -55,5 +54,5 @@ class ResetPasswordController extends Controller * * @var string */ - protected $redirectTo = RouteServiceProvider::HOME; + protected $redirectTo = '/dashboard'; } diff --git a/app/Http/Controllers/Auth/TwoFactorAuthController.php b/app/Http/Controllers/Auth/TwoFactorAuthController.php index 8917e87c3b..908ec54382 100644 --- a/app/Http/Controllers/Auth/TwoFactorAuthController.php +++ b/app/Http/Controllers/Auth/TwoFactorAuthController.php @@ -3,7 +3,6 @@ namespace App\Http\Controllers\Auth; use App\Http\Controllers\Controller; -use App\Providers\RouteServiceProvider; use MichaelDzjap\TwoFactorAuth\Http\Controllers\TwoFactorAuthenticatesUsers; class TwoFactorAuthController extends Controller @@ -29,7 +28,7 @@ class TwoFactorAuthController extends Controller * * @var string */ - protected $redirectTo = RouteServiceProvider::HOME; + protected $redirectTo = '/dashboard'; /** * Show the application's two-factor authentication form. diff --git a/app/Http/Controllers/Auth/VerificationController.php b/app/Http/Controllers/Auth/VerificationController.php index 1910a04221..baa621e816 100644 --- a/app/Http/Controllers/Auth/VerificationController.php +++ b/app/Http/Controllers/Auth/VerificationController.php @@ -32,7 +32,6 @@ namespace App\Http\Controllers\Auth; use App\Http\Controllers\Controller; -use App\Providers\RouteServiceProvider; use Illuminate\Foundation\Auth\VerifiesEmails; class VerificationController extends Controller @@ -55,7 +54,7 @@ class VerificationController extends Controller * * @var string */ - protected $redirectTo = RouteServiceProvider::HOME; + protected $redirectTo = '/dashboard'; /** * Create a new controller instance. diff --git a/app/Http/Controllers/FrontEnd/PageController.php b/app/Http/Controllers/FrontEnd/PageController.php index d0365bd37c..2b0b9742bc 100644 --- a/app/Http/Controllers/FrontEnd/PageController.php +++ b/app/Http/Controllers/FrontEnd/PageController.php @@ -39,7 +39,7 @@ use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Session; -use willvincent\Feeds\Facades\FeedsFacade; +use SimplePie; use App\Http\Controllers\FrontEndController; use App\Http\Requests\SurveiRequest; use App\Models\Kategori; @@ -82,8 +82,38 @@ public function beritaDesa() } private function getFeeds() - { - $feeds = (new DesaService())->getFeeds(); + { + $all_desa = DataDesa::websiteUrl()->get() + ->map(function ($desa) { + return $desa->website_url_feed; + })->all(); + + $feeds = []; + foreach ($all_desa as $desa) { + $getFeeds = new SimplePie(); + $getFeeds->set_feed_url($desa['website']); + $getFeeds->set_item_limit(5); + $getFeeds->force_fsockopen(true); + $getFeeds->set_cache_location(storage_path('framework/cache/simplepie')); + $getFeeds->init(); + $getFeeds->handle_content_type(); + foreach ($getFeeds->get_items() as $item) { + $feeds[] = [ + 'desa_id' => $desa['desa_id'], + 'nama_desa' => $desa['nama'], + 'feed_link' => $item->get_feed()->get_permalink(), + 'feed_title' => $item->get_feed()->get_title(), + 'link' => $item->get_link(), + 'date' => \Carbon\Carbon::parse($item->get_date('U')), + 'author' => $item->get_author()->get_name() ?? 'Administrator', + 'title' => $item->get_title(), + 'image' => get_tag_image($item->get_description()), + 'description' => strip_tags(substr(str_replace(['&', 'nbsp;', '[...]'], '', $item->get_description()), 0, 250) . '[...]'), + 'content' => $item->get_content(), + ]; + } + } + return $feeds ?? null; } diff --git a/app/Http/Controllers/FrontEndController.php b/app/Http/Controllers/FrontEndController.php index f347ac1d05..5309116a1c 100644 --- a/app/Http/Controllers/FrontEndController.php +++ b/app/Http/Controllers/FrontEndController.php @@ -41,6 +41,11 @@ class FrontEndController extends Controller public function __construct() { parent::__construct(); + + if (!sudahInstal()) { + return; + } + theme_active(); $this->settings = SettingAplikasi::pluck('value', 'key'); diff --git a/app/Http/Controllers/Installer/InstallerController.php b/app/Http/Controllers/Installer/InstallerController.php index 303cf0446e..69856435a8 100644 --- a/app/Http/Controllers/Installer/InstallerController.php +++ b/app/Http/Controllers/Installer/InstallerController.php @@ -138,79 +138,91 @@ public function environmentClassic() */ public function environmentSaveWizard(Request $request) { - // dd($request->all()); // Validasi input $request->validate([ - 'app_name' => 'required|string|max:255', - 'app_environment' => 'required|string', - 'app_debug' => 'required', - 'app_url' => 'required|url', + 'app_name' => 'required|string|max:255', + 'app_environment' => 'required|string', + 'app_debug' => 'required', + 'app_url' => 'required|url', 'database_connection' => 'required|string', - 'database_hostname' => 'required|string', - 'database_port' => 'required|numeric', - 'database_name' => 'required|string', - 'database_username' => 'required|string', - 'database_password' => 'nullable|string', + 'database_hostname' => 'required|string', + 'database_port' => 'required|numeric', + 'database_name' => 'required|string', + 'database_username' => 'required|string', + 'database_password' => 'nullable|string', ]); - // dd($request->all()); - // Ambil data dari form + + // Cek writability file .env + $envPath = base_path('.env'); + if (file_exists($envPath) && ! is_writable($envPath)) { + return back()->withErrors(['envConfig' => 'File .env tidak dapat ditulis. Periksa permission file.']); + } + + // Bangun konten .env + // Catatan: key-key di bawah sesuai dengan Laravel 11+ + // - BROADCAST_CONNECTION (bukan BROADCAST_DRIVER yang lama) + // - CACHE_STORE (bukan CACHE_DRIVER yang lama) + // - QUEUE_CONNECTION (tidak berubah) $envConfig = [ - 'APP_NAME' => '"' . $request->app_name . '"', - 'APP_ENV' => $request->app_environment, - 'APP_KEY' => 'base64:' . base64_encode(random_bytes(32)), + 'APP_NAME' => '"' . $request->app_name . '"', + 'APP_ENV' => $request->app_environment, + 'APP_KEY' => 'base64:' . base64_encode(random_bytes(32)), 'APP_DEBUG' => $request->app_debug ? 'true' : 'false', - 'APP_URL' => $request->app_url, - 'LOG_CHANNEL' => 'stack', - 'LOG_DEPRECATIONS_CHANNEL' => 'null', - 'LOG_LEVEL' => 'debug', + 'APP_URL' => $request->app_url, + + 'LOG_CHANNEL' => 'stack', + 'LOG_DEPRECATIONS_CHANNEL'=> 'null', + 'LOG_LEVEL' => 'debug', 'DB_CONNECTION' => $request->database_connection, - 'DB_HOST' => $request->database_hostname, - 'DB_PORT' => $request->database_port, - 'DB_DATABASE' => $request->database_name, - 'DB_USERNAME' => $request->database_username, - 'DB_PASSWORD' => $request->database_password ?: '', - - 'BROADCAST_DRIVER' => 'log', - 'CACHE_DRIVER' => 'file', - 'FILESYSTEM_DISK' => 'local', - 'QUEUE_CONNECTION' => 'sync', - 'SESSION_DRIVER' => 'file', - 'SESSION_LIFETIME' => '120', + 'DB_HOST' => $request->database_hostname, + 'DB_PORT' => $request->database_port, + 'DB_DATABASE' => $request->database_name, + 'DB_USERNAME' => $request->database_username, + 'DB_PASSWORD' => $request->database_password ?: '', + + // Laravel 11+ menggunakan BROADCAST_CONNECTION (bukan BROADCAST_DRIVER) + 'BROADCAST_CONNECTION' => $request->broadcast_connection ?? 'log', + // Laravel 11+ menggunakan CACHE_STORE (bukan CACHE_DRIVER) + 'CACHE_STORE' => $request->cache_store ?? 'file', + 'FILESYSTEM_DISK' => 'local', + 'QUEUE_CONNECTION' => $request->queue_connection ?? 'sync', + 'SESSION_DRIVER' => $request->session_driver ?? 'file', + 'SESSION_LIFETIME' => '120', 'MEMCACHED_HOST' => '127.0.0.1', - 'REDIS_HOST' => '127.0.0.1', - 'REDIS_PASSWORD' => 'null', - 'REDIS_PORT' => '6379', + 'REDIS_HOST' => $request->redis_hostname ?? '127.0.0.1', + 'REDIS_PASSWORD' => $request->redis_password ?? 'null', + 'REDIS_PORT' => $request->redis_port ?? '6379', - 'MAIL_MAILER' => 'smtp', - 'MAIL_HOST' => 'mailpit', - 'MAIL_PORT' => '1025', - 'MAIL_USERNAME' => 'null', - 'MAIL_PASSWORD' => 'null', - 'MAIL_ENCRYPTION' => 'null', + 'MAIL_MAILER' => $request->mail_driver ?? 'smtp', + 'MAIL_HOST' => $request->mail_host ?? 'mailpit', + 'MAIL_PORT' => $request->mail_port ?? '1025', + 'MAIL_USERNAME' => $request->mail_username ?? 'null', + 'MAIL_PASSWORD' => $request->mail_password ?? 'null', + 'MAIL_ENCRYPTION' => $request->mail_encryption ?? 'null', 'MAIL_FROM_ADDRESS' => '"hello@example.com"', - 'MAIL_FROM_NAME' => '"${APP_NAME}"', - - 'AWS_ACCESS_KEY_ID' => '', - 'AWS_SECRET_ACCESS_KEY' => '', - 'AWS_DEFAULT_REGION' => 'us-east-1', - 'AWS_BUCKET' => '', - 'AWS_USE_PATH_STYLE_ENDPOINT' => 'false', - - 'PUSHER_APP_ID' => '', - 'PUSHER_APP_KEY' => '', - 'PUSHER_APP_SECRET' => '', - 'PUSHER_HOST' => '', - 'PUSHER_PORT' => '443', - 'PUSHER_SCHEME' => 'https', + 'MAIL_FROM_NAME' => '"${APP_NAME}"', + + 'AWS_ACCESS_KEY_ID' => '', + 'AWS_SECRET_ACCESS_KEY' => '', + 'AWS_DEFAULT_REGION' => 'us-east-1', + 'AWS_BUCKET' => '', + 'AWS_USE_PATH_STYLE_ENDPOINT'=> 'false', + + 'PUSHER_APP_ID' => $request->pusher_app_id ?? '', + 'PUSHER_APP_KEY' => $request->pusher_app_key ?? '', + 'PUSHER_APP_SECRET' => $request->pusher_app_secret ?? '', + 'PUSHER_HOST' => '', + 'PUSHER_PORT' => '443', + 'PUSHER_SCHEME' => 'https', 'PUSHER_APP_CLUSTER' => 'mt1', - 'VITE_PUSHER_APP_KEY' => '"${PUSHER_APP_KEY}"', - 'VITE_PUSHER_HOST' => '"${PUSHER_HOST}"', - 'VITE_PUSHER_PORT' => '"${PUSHER_PORT}"', - 'VITE_PUSHER_SCHEME' => '"${PUSHER_SCHEME}"', + 'VITE_PUSHER_APP_KEY' => '"${PUSHER_APP_KEY}"', + 'VITE_PUSHER_HOST' => '"${PUSHER_HOST}"', + 'VITE_PUSHER_PORT' => '"${PUSHER_PORT}"', + 'VITE_PUSHER_SCHEME' => '"${PUSHER_SCHEME}"', 'VITE_PUSHER_APP_CLUSTER' => '"${PUSHER_APP_CLUSTER}"', ]; @@ -221,7 +233,15 @@ public function environmentSaveWizard(Request $request) } // Simpan ke file .env - file_put_contents(base_path('.env'), $envContent); + file_put_contents($envPath, $envContent); + + // Reload config cache agar konfigurasi baru (terutama DB) langsung terbaca + try { + \Artisan::call('config:clear'); + \Artisan::call('cache:clear'); + } catch (\Exception $e) { + // Tidak fatal — lanjutkan meski cache:clear gagal + } return redirect()->route('installer.database') ->with('success', 'Konfigurasi environment berhasil disimpan'); @@ -237,15 +257,30 @@ public function environmentSaveClassic(Request $request) 'envConfig' => 'required|string', ]); + // Cek writability file .env + $envPath = base_path('.env'); + if (file_exists($envPath) && ! is_writable($envPath)) { + return back()->withErrors(['envConfig' => 'File .env tidak dapat ditulis. Periksa permission file.']); + } + // Simpan content langsung dari textarea ke file .env - file_put_contents(base_path('.env'), $request->envConfig); - + file_put_contents($envPath, $request->envConfig); + + // Reload config cache agar konfigurasi baru langsung terbaca + try { + \Artisan::call('config:clear'); + \Artisan::call('cache:clear'); + } catch (\Exception $e) { + // Tidak fatal — lanjutkan meski cache:clear gagal + } + return redirect()->route('installer.database') ->with('success', 'Konfigurasi environment berhasil disimpan'); } /** * Display the database page. + * Test koneksi DB menggunakan config yang sudah di-reload. */ public function database() { @@ -255,12 +290,15 @@ public function database() // Test database connection $canConnect = false; - $message = ''; + $message = ''; try { + // Paksa Laravel membaca ulang config DB dari .env yang baru disimpan + \DB::purge(); + \DB::reconnect(); \DB::connection()->getPdo(); $canConnect = true; - $message = 'Koneksi database berhasil!'; + $message = 'Koneksi database berhasil!'; } catch (\Exception $e) { $message = 'Koneksi database gagal: ' . $e->getMessage(); } @@ -290,29 +328,41 @@ public function performInstallation(Request $request) } try { + // Generate APP_KEY jika belum ada atau masih kosong + if (empty(config('app.key')) || config('app.key') === 'base64:') { + \Artisan::call('key:generate', ['--force' => true]); + } + // Run migrations \Artisan::call('migrate', ['--force' => true]); + $migrationOutput = \Artisan::output(); - // Run seeders if needed + // Run seeders \Artisan::call('db:seed', ['--force' => true]); + $migrationOutput .= \Artisan::output(); + + // Buat symlink storage (biarkan jika sudah ada — tidak fatal) + try { + \Artisan::call('storage:link', ['--force' => true]); + } catch (\Exception $e) { + // Symlink mungkin sudah ada — tidak fatal, lanjutkan + } - // Create installed file + // Buat file tanda instalasi selesai file_put_contents( storage_path('installed'), sprintf('%s berhasil DIPASANG pada %s', config('app.name', 'OpenDK'), now()) ); - $migrationOutput = \Artisan::output(); - } catch (\Exception $e) { return view('vendor.installer.finished', [ - 'error' => $e->getMessage() + 'error' => $e->getMessage(), ]); } return view('vendor.installer.finished', [ - 'success' => true, - 'migrationOutput' => $migrationOutput + 'success' => true, + 'migrationOutput' => $migrationOutput, ]); } } diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php deleted file mode 100644 index a862993ca7..0000000000 --- a/app/Http/Kernel.php +++ /dev/null @@ -1,128 +0,0 @@ - - */ - protected $middleware = [ - // \App\Http\Middleware\TrustHosts::class, - \App\Http\Middleware\TrustProxies::class, - \Illuminate\Http\Middleware\HandleCors::class, - \App\Http\Middleware\PreventRequestsDuringMaintenance::class, - \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class, - \App\Http\Middleware\TrimStrings::class, - \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class, - ]; - - /** - * The application's route middleware groups. - * - * @var array> - */ - protected $middlewareGroups = [ - 'web' => [ - \App\Http\Middleware\EncryptCookies::class, - \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, - \Illuminate\Session\Middleware\StartSession::class, - \Illuminate\View\Middleware\ShareErrorsFromSession::class, - \App\Http\Middleware\VerifyCsrfToken::class, - \Illuminate\Routing\Middleware\SubstituteBindings::class, - \App\Http\Middleware\SecurityHeaders::class, - \App\Http\Middleware\GlobalShareMiddleware::class, - ], - - 'api' => [ - 'throttle:api', - \Illuminate\Routing\Middleware\SubstituteBindings::class, - ], - ]; - - /** - * The application's route middleware. - * - * These middleware may be assigned to groups or used individually. - * - * @var array - */ - protected $routeMiddleware = [ - 'auth' => \App\Http\Middleware\Authenticate::class, - 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, - // 'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class, - 'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class, - 'can' => \Illuminate\Auth\Middleware\Authorize::class, - 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, - 'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class, - 'signed' => \App\Http\Middleware\ValidateSignature::class, - 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, - 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class, - // 'check_role' => \App\Http\Middleware\CheckRole::class, - 'installed' => \App\Http\Middleware\KDInstalled::class, - 'maintenance' => \App\Http\Middleware\MaintenanceMode::class, - 'role' => \Spatie\Permission\Middleware\RoleMiddleware::class, - 'permission' => \Spatie\Permission\Middleware\PermissionMiddleware::class, - 'action_permission' => \App\Http\Middleware\CheckActionPermission::class, - 'role_or_permission' => \Spatie\Permission\Middleware\RoleOrPermissionMiddleware::class, - 'xss_sanitization' => \App\Http\Middleware\XssSanitization::class, - 'complete_profile' => \App\Http\Middleware\CompleteProfile::class, - 'token.registered' => \App\Http\Middleware\TokenRegistered::class, - 'track.visitors' => \App\Http\Middleware\TrackVisitors::class, - 'otp.enabled' => \App\Http\Middleware\CheckOtpEnabled::class, - 'theme.api' => \App\Http\Middleware\ThemeApiMiddleware::class, - ]; - - /** - * The priority-sorted list of middleware. - * - * This forces non-global middleware to always be in the given order. - * - * @var array - */ - protected $middlewarePriority = [ - \Illuminate\Session\Middleware\StartSession::class, - \Illuminate\View\Middleware\ShareErrorsFromSession::class, - \App\Http\Middleware\Authenticate::class, - \Illuminate\Routing\Middleware\ThrottleRequests::class, - \Illuminate\Session\Middleware\AuthenticateSession::class, - \Illuminate\Routing\Middleware\SubstituteBindings::class, - \Illuminate\Auth\Middleware\Authorize::class, - \App\Http\Middleware\SecurityHeaders::class, - ]; -} diff --git a/app/Http/Middleware/RedirectIfAuthenticated.php b/app/Http/Middleware/RedirectIfAuthenticated.php index 83029bca42..bdc242aa60 100644 --- a/app/Http/Middleware/RedirectIfAuthenticated.php +++ b/app/Http/Middleware/RedirectIfAuthenticated.php @@ -31,7 +31,6 @@ namespace App\Http\Middleware; -use App\Providers\RouteServiceProvider; use Closure; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; @@ -51,7 +50,7 @@ public function handle(Request $request, Closure $next, ...$guards) foreach ($guards as $guard) { if (Auth::guard($guard)->check()) { - return redirect(RouteServiceProvider::HOME); + return redirect('/dashboard'); } } diff --git a/app/Http/Middleware/VerifyCsrfToken.php b/app/Http/Middleware/VerifyCsrfToken.php deleted file mode 100644 index 410398c2db..0000000000 --- a/app/Http/Middleware/VerifyCsrfToken.php +++ /dev/null @@ -1,46 +0,0 @@ - - */ - protected $except = [ - // - ]; -} diff --git a/app/Listeners/ClearArtikelCacheListener.php b/app/Listeners/ClearArtikelCacheListener.php index 14c001c48e..ecf351fcc3 100644 --- a/app/Listeners/ClearArtikelCacheListener.php +++ b/app/Listeners/ClearArtikelCacheListener.php @@ -31,6 +31,7 @@ namespace App\Listeners; +use App\Events\ArtikelChanged; use App\Services\CacheService; use Illuminate\Support\Facades\Log; @@ -39,10 +40,9 @@ class ClearArtikelCacheListener /** * Handle the event. * - * @param object $event * @return void */ - public function handle($event) + public function handle(ArtikelChanged $event) { try { // Ambil CacheService dari container (sudah didaftarkan di AppServiceProvider) diff --git a/app/Models/Album.php b/app/Models/Album.php index dfdf695c55..e01f25ad86 100644 --- a/app/Models/Album.php +++ b/app/Models/Album.php @@ -7,11 +7,20 @@ use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Support\Facades\Storage; +use App\Observers\AlbumObserver; class Album extends Model { use HasFactory, Sluggable; + /** + * Register model lifecycle hooks. + */ + protected static function booted(): void + { + static::observe(AlbumObserver::class); + } + protected $fillable = [ 'judul', 'gambar', diff --git a/app/Models/Artikel.php b/app/Models/Artikel.php index 028b749d65..1304251fe3 100644 --- a/app/Models/Artikel.php +++ b/app/Models/Artikel.php @@ -31,6 +31,7 @@ namespace App\Models; +use App\Events\ArtikelChanged; use App\Traits\HandlesResourceDeletion; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Relations\BelongsTo; @@ -50,6 +51,16 @@ class Artikel extends Model protected $table = 'das_artikel'; + /** + * Register model lifecycle hooks. + */ + protected static function booted(): void + { + static::created(fn (Artikel $artikel) => ArtikelChanged::dispatch($artikel)); + static::updated(fn (Artikel $artikel) => ArtikelChanged::dispatch($artikel)); + static::deleted(fn (Artikel $artikel) => ArtikelChanged::dispatch($artikel)); + } + protected $fillable = [ 'id_kategori', 'judul', diff --git a/app/Models/Galeri.php b/app/Models/Galeri.php index cad3d0766d..6189cf65d9 100644 --- a/app/Models/Galeri.php +++ b/app/Models/Galeri.php @@ -6,11 +6,20 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; +use App\Observers\GaleriObserver; class Galeri extends Model { use HasFactory, Sluggable; + /** + * Register model lifecycle hooks. + */ + protected static function booted(): void + { + static::observe(GaleriObserver::class); + } + protected $fillable = [ 'album_id', 'judul', diff --git a/app/Models/Kategori.php b/app/Models/Kategori.php index 2988fe6b42..7b9e5e03df 100644 --- a/app/Models/Kategori.php +++ b/app/Models/Kategori.php @@ -2,10 +2,10 @@ namespace App\Models; -use Illuminate\Support\Str; +use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\HasMany; -use Illuminate\Database\Eloquent\Factories\HasFactory; +use Illuminate\Support\Str; class Kategori extends Model { @@ -13,7 +13,7 @@ class Kategori extends Model protected $fillable = [ 'nama', - 'slug' + 'slug', ]; /** @@ -35,6 +35,6 @@ public function artikels(): HasMany public function getLinkAttribute(): string { - return Str::replaceFirst(url('/'), '', route('berita.kategori', ['slug' => $this->slug])); + return Str::replaceFirst(url('/'), '', route('berita.kategori', ['slug' => $this->slug])); } } diff --git a/app/Models/MediaTerkait.php b/app/Models/MediaTerkait.php index 6d5870a223..05a9bcba87 100644 --- a/app/Models/MediaTerkait.php +++ b/app/Models/MediaTerkait.php @@ -4,11 +4,20 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; +use App\Observers\MediaTerkaitObserver; class MediaTerkait extends Model { use HasFactory; + /** + * Register model lifecycle hooks. + */ + protected static function booted(): void + { + static::observe(MediaTerkaitObserver::class); + } + protected $fillable = [ 'logo', 'url', diff --git a/app/Models/User.php b/app/Models/User.php index 629a2a7ffd..62487b761d 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -31,26 +31,25 @@ namespace App\Models; -use Illuminate\Support\Facades\File; -use Illuminate\Support\Facades\Hash; -use Intervention\Image\Facades\Image; -use Spatie\Permission\Traits\HasRoles; use App\Traits\HandlesResourceDeletion; -use Illuminate\Support\Facades\Storage; -use Tymon\JWTAuth\Contracts\JWTSubject; -use Illuminate\Notifications\Notifiable; -use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Auth\Authenticatable as AuthenticableTrait; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\SoftDeletes; +use Illuminate\Foundation\Auth\User as Authenticatable; +use Illuminate\Notifications\Notifiable; +use Illuminate\Support\Facades\File; +use Illuminate\Support\Facades\Hash; +use Illuminate\Support\Facades\Storage; +use Spatie\Permission\Traits\HasRoles; +use Tymon\JWTAuth\Contracts\JWTSubject; class User extends Authenticatable implements JWTSubject { use AuthenticableTrait; + use HandlesResourceDeletion; use HasFactory; use HasRoles; use Notifiable; - use HandlesResourceDeletion; use SoftDeletes; /** @@ -141,7 +140,7 @@ public static function datatables() public function getFotoAttribute() { - return $this->attributes['image'] ? Storage::url('user/' . $this->attributes['image']) : null; + return $this->attributes['image'] ? Storage::url('user/'.$this->attributes['image']) : null; } public function scopeSuspend($query, $email) diff --git a/app/Models/Widget.php b/app/Models/Widget.php index 096a76a1ee..0715205626 100644 --- a/app/Models/Widget.php +++ b/app/Models/Widget.php @@ -4,11 +4,20 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; +use App\Observers\WidgetObserver; class Widget extends Model { use HasFactory; + /** + * Register model lifecycle hooks. + */ + protected static function booted(): void + { + static::observe(WidgetObserver::class); + } + public const WIDGET_SISTEM = 1; public const WIDGET_STATIS = 2; public const WIDGET_DINAMIS = 3; diff --git a/app/Observers/ArtikelObserver.php b/app/Observers/ArtikelObserver.php deleted file mode 100644 index fc531c1592..0000000000 --- a/app/Observers/ArtikelObserver.php +++ /dev/null @@ -1,93 +0,0 @@ -isDirty('logo')) { - Storage::disk('public')->delete($mediaSosial->getOriginal('logo')); - } - } - - /** - * Handle the MediaSosial "deleted" event. - * - * @param \App\Models\MediaSosial $mediaSosial - * @return void - */ - public function deleted(MediaSosial $mediaSosial) - { - if (!is_null($mediaSosial->logo)) { - Storage::disk('public')->delete($mediaSosial->logo); - } - } - - /** - * Handle the MediaSosial "restored" event. - * - * @param \App\Models\MediaSosial $mediaSosial - * @return void - */ - public function restored(MediaSosial $mediaSosial) - { - // - } - - /** - * Handle the MediaSosial "force deleted" event. - * - * @param \App\Models\MediaSosial $mediaSosial - * @return void - */ - public function forceDeleted(MediaSosial $mediaSosial) - { - // - } -} diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/ApiFrontendRouteServiceProvider.php similarity index 71% rename from app/Providers/AuthServiceProvider.php rename to app/Providers/ApiFrontendRouteServiceProvider.php index cab45d5d11..77678cc097 100644 --- a/app/Providers/AuthServiceProvider.php +++ b/app/Providers/ApiFrontendRouteServiceProvider.php @@ -31,26 +31,21 @@ namespace App\Providers; -use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider; +use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider; +use Illuminate\Support\Facades\Route; -class AuthServiceProvider extends ServiceProvider +class ApiFrontendRouteServiceProvider extends ServiceProvider { /** - * The model to policy mappings for the application. + * Define the routes for the API Frontend. * - * @var array + * Route ini menggunakan middleware 'theme.api' dan prefix 'api/frontend'. + * Dipisahkan dari withRouting() karena memerlukan middleware khusus. */ - protected $policies = [ - // 'App\Models\Model' => 'App\Policies\ModelPolicy', - ]; - - /** - * Register any authentication / authorization services. - * - * @return void - */ - public function boot() + public function map(): void { - $this->registerPolicies(); + Route::middleware('theme.api') + ->prefix('api/frontend') + ->group(base_path('routes/api-frontend.php')); } } diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 3b8688a3d0..253a57cdb4 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -31,13 +31,11 @@ namespace App\Providers; -use App\Models\DataDesa; -use App\Models\DataUmum; -use App\Models\Penduduk; use App\Services\CacheService; use App\Support\Collection; use Illuminate\Pagination\LengthAwarePaginator; use Illuminate\Pagination\Paginator; +use Illuminate\Foundation\AliasLoader; use Illuminate\Support\Facades\Blade; use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\DB; @@ -45,31 +43,41 @@ use Illuminate\Support\Facades\Schema; use Illuminate\Support\Facades\Validator; use Illuminate\Support\ServiceProvider; -use Doctrine\DBAL\Types\Type; -use Doctrine\DBAL\Platforms\AbstractPlatform; class AppServiceProvider extends ServiceProvider { /** * Register any application services. - * - * @return void */ - public function register() + public function register(): void { $this->app->singleton(CacheService::class, function () { return new CacheService(); }); + + /* + |---------------------------------------------------------------------- + | Class Aliases (pengganti aliases di config/app.php L10-style) + |---------------------------------------------------------------------- + | Didaftarkan via AliasLoader karena ApplicationBuilder::withAliases() + | tidak tersedia di Laravel 13.x. + */ + $loader = AliasLoader::getInstance(); + $loader->alias('JWTAuth', \Tymon\JWTAuth\Facades\JWTAuth::class); + $loader->alias('JWTFactory', \Tymon\JWTAuth\Facades\JWTFactory::class); + $loader->alias('Captcha', \Mews\Captcha\Facades\Captcha::class); + $loader->alias('Counter', \App\Facades\Counter::class); + $loader->alias('Html', \Spatie\Html\Facades\Html::class); + $loader->alias('Excel', \Maatwebsite\Excel\Facades\Excel::class); + $loader->alias('Debugbar', \Barryvdh\Debugbar\Facades\Debugbar::class); } /** * Bootstrap any application services. - * - * @return void */ - public function boot() + public function boot(): void { - // default lengt string + // Default string length untuk MySQL lama Schema::defaultStringLength(191); Paginator::useBootstrap(); @@ -82,45 +90,21 @@ public function boot() $this->file(); } - // Note: Doctrine DBAL tinyinteger type removed for Laravel 11 compatibility - // If needed, consider using native MySQL migrations instead - - // bypass validasi captcha saat unit testing + // Bypass validasi captcha saat unit testing / local if (app()->environment('testing') || app()->environment('local')) { Validator::extend('captcha', function () { - return true; // selalu lolos di environment testing + return true; }); } } - protected function penduduk() + /** + * Konfigurasi custom validator untuk data penduduk. + */ + protected function penduduk(): void { // kecamatan_id harus dihapus pada migrasi database/migrations/2021_10_12_081718_alter_table_das_data_umum.php - // jumlah_penduduk dll dihapus pada migrasi database/migrations/2021_01_02_055931_dropcolomn_data_umum_table.php - // Penduduk::saved(function ($model) { - // - // $dataUmum = DataUmum::where('kecamatan_id', $model->kecamatan_id)->first(); - // - // $dataUmum->jumlah_penduduk = $model->where('kecamatan_id', $model->kecamatan_id)->count(); - // $dataUmum->jml_laki_laki = $model->where('sex', 1)->count(); - // $dataUmum->jml_perempuan = $model->where('sex', 2)->count(); - // $dataUmum->luas_wilayah = DataDesa::where('kecamatan_id', $model->kecamatan_id)->sum('luas_wilayah'); - // $dataUmum->kepadatan_penduduk = $dataUmum->luas_wilayah == 0 ? 0 : $dataUmum->jumlah_penduduk / $dataUmum->luas_wilayah; - - // $dataUmum->save(); - // }); - - // Penduduk::deleted(function ($model) { - // $dataUmum = DataUmum::where('kecamatan_id', $model->kecamatan_id)->first(); - - // $dataUmum->jumlah_penduduk = $model->where('kecamatan_id', $model->kecamatan_id)->count(); - // $dataUmum->jml_laki_laki = $model->where('sex', 1)->count(); - // $dataUmum->jml_perempuan = $model->where('sex', 2)->count(); - // $dataUmum->luas_wilayah = DataDesa::where('kecamatan_id', $model->kecamatan_id)->sum('luas_wilayah'); - // $dataUmum->kepadatan_penduduk = $dataUmum->luas_wilayah == 0 ? 0 : $dataUmum->jumlah_penduduk / $dataUmum->luas_wilayah; - - // $dataUmum->save(); - // }); + // jumlah_penduduk dll dihapus pada migrasi database/migrations/2021_01_02_055931_dropcolomn_data_umum_table.php Validator::extend('nik_exists', function ($attribute, $value, $parameters) { $query = DB::table('das_penduduk') @@ -165,7 +149,10 @@ protected function penduduk() }); } - protected function config() + /** + * Load konfigurasi aplikasi dari database ke dalam config(). + */ + protected function config(): void { config([ 'setting' => Cache::remember('setting', 24 * 60 * 60, function () { @@ -206,14 +193,20 @@ protected function config() ]); } - protected function blade() + /** + * Registrasi Blade directive custom. + */ + protected function blade(): void { Blade::directive('selected', function ($condition) { return ""; }); } - protected function file() + /** + * Validator untuk file upload (mencegah file berbahaya). + */ + protected function file(): void { Validator::extend('valid_file', function ($attributes, $value, $parameters) { $contains = preg_match('/<\?php|> - */ - protected $listen = [ - Registered::class => [ - SendEmailVerificationNotification::class, - ], - ArtikelChanged::class => [ - ClearArtikelCacheListener::class, - ], - ]; - - /** - * Register any events for your application. - * - * @return void - */ - public function boot() - { - Album::observe(AlbumObserver::class); - Artikel::observe(ArtikelObserver::class); - Galeri::observe(GaleriObserver::class); - Widget::observe(WidgetObserver::class); - MediaSosial::observe(MediaSosialObserver::class); - MediaTerkait::observe(MediaTerkaitObserver::class); - } - - /** - * Determine if events and listeners should be automatically discovered. - * - * @return bool - */ - public function shouldDiscoverEvents() - { - return false; - } -} diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php deleted file mode 100644 index cca2c9c156..0000000000 --- a/app/Providers/RouteServiceProvider.php +++ /dev/null @@ -1,84 +0,0 @@ -configureRateLimiting(); - - $this->routes(function () { - Route::middleware('api') - ->prefix('api') - ->group(base_path('routes/api.php')); - Route::middleware('theme.api') - ->prefix('api/frontend') - ->group(base_path('routes/api-frontend.php')); - - Route::middleware('web') - ->group(base_path('routes/web.php')); - }); - } - - /** - * Configure the rate limiters for the application. - * - * @return void - */ - protected function configureRateLimiting() - { - RateLimiter::for('api', function (Request $request) { - return Limit::perMinute(60)->by($request->user()?->id ?: $request->ip()); - }); - } -} diff --git a/app/Repositories/BaseApiRepository.php b/app/Repositories/BaseApiRepository.php index 08b965e24d..c611f980ee 100644 --- a/app/Repositories/BaseApiRepository.php +++ b/app/Repositories/BaseApiRepository.php @@ -235,7 +235,7 @@ protected function addAllowedInclude(string $relation): self protected function getFilteredApi() { - return $this->getQueryBuilder()->allowedFilters($this->allowedFilters)->allowedSorts($this->allowedSorts)->allowedIncludes($this->allowedIncludes); + return $this->getQueryBuilder()->allowedFilters(...$this->allowedFilters)->allowedSorts(...$this->allowedSorts)->allowedIncludes(...$this->allowedIncludes); } public function getDataArray(){ diff --git a/app/Services/BaseApiService.php b/app/Services/BaseApiService.php index bbd5ef6345..c43f092e57 100644 --- a/app/Services/BaseApiService.php +++ b/app/Services/BaseApiService.php @@ -18,13 +18,25 @@ class BaseApiService public function __construct() { $this->settings = SettingAplikasi::whereIn('key', ['api_server_database_gabungan', 'api_key_database_gabungan', 'sinkronisasi_database_gabungan'])->pluck('value', 'key'); + + // Allow mock via config for testing + if (config()->has('api_server_database_gabungan')) { + $this->settings['api_server_database_gabungan'] = config('api_server_database_gabungan'); + } + if (config()->has('api_key_database_gabungan')) { + $this->settings['api_key_database_gabungan'] = config('api_key_database_gabungan'); + } + if (config()->has('sinkronisasi_database_gabungan')) { + $this->settings['sinkronisasi_database_gabungan'] = config('sinkronisasi_database_gabungan'); + } + $this->useDatabaseGabungan = $this->useDatabaseGabungan(); $this->header = [ 'Accept' => 'application/ld+json', 'Content-Type' => 'application/json', - 'Authorization' => 'Bearer ' . $this->settings['api_key_database_gabungan'], + 'Authorization' => 'Bearer ' . ($this->settings['api_key_database_gabungan'] ?? ''), ]; - $this->baseUrl = $this->settings['api_server_database_gabungan']; + $this->baseUrl = !empty($this->settings['api_server_database_gabungan']) ? $this->settings['api_server_database_gabungan'] : 'http://localhost'; $this->kodeKecamatan = str_replace('.','',config('profil.kecamatan_id')); } @@ -51,6 +63,9 @@ protected function apiRequest(string $endpoint, array $params = []) return $jsonResponse; } catch (\Exception $e) { + if (app()->environment('testing')) { + throw $e; + } session()->flash('error_api', 'Gagal mendapatkan data'. $e->getMessage()); Log::error('Failed get data in '.__FILE__.' function '.__METHOD__.' '. $e->getMessage()); } diff --git a/app/Services/DesaService.php b/app/Services/DesaService.php index a01fb4536a..433fa8a838 100644 --- a/app/Services/DesaService.php +++ b/app/Services/DesaService.php @@ -36,7 +36,7 @@ use Illuminate\Database\Eloquent\Collection; use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Log; -use willvincent\Feeds\Facades\FeedsFacade; +use SimplePie; class DesaService extends BaseApiService { @@ -109,8 +109,14 @@ public function getFeeds(): array })->filter(static fn($q) => !empty($q->website)); $feeds = []; foreach ($allDesa as $desa) { - $feedItems = FeedsFacade::make($desa->website_url_feed['website'], 5, true); - $items = $feedItems->get_items(); + $feedReader = new SimplePie(); + $feedReader->set_feed_url($desa->website_url_feed['website']); + $feedReader->set_item_limit(5); + $feedReader->force_fsockopen(true); + $feedReader->set_cache_location(storage_path('framework/cache/simplepie')); + $feedReader->init(); + $feedReader->handle_content_type(); + $items = $feedReader->get_items(); // Handle case where no items returned if (empty($items)) { @@ -169,6 +175,11 @@ public function listPathDesa() */ public function jumlahDesa(array $filters = []) { + // Jika tidak menggunakan database gabungan, hitung dari database lokal + if (! $this->useDatabaseGabungan) { + return DataDesa::count(); + } + // Default parameter $defaultParams = [ 'filter[kode_kecamatan]' => str_replace('.', '', config('profil.kecamatan_id')), diff --git a/bootstrap/app.php b/bootstrap/app.php index 037e17df03..3ed4e97520 100644 --- a/bootstrap/app.php +++ b/bootstrap/app.php @@ -1,55 +1,147 @@ singleton( - Illuminate\Contracts\Http\Kernel::class, - App\Http\Kernel::class -); - -$app->singleton( - Illuminate\Contracts\Console\Kernel::class, - App\Console\Kernel::class -); - -$app->singleton( - Illuminate\Contracts\Debug\ExceptionHandler::class, - App\Exceptions\Handler::class -); +use Illuminate\Foundation\Application; +use Illuminate\Foundation\Configuration\Exceptions; +use Illuminate\Foundation\Configuration\Middleware; -/* -|-------------------------------------------------------------------------- -| Return The Application -|-------------------------------------------------------------------------- -| -| This script returns the application instance. The instance is given to -| the calling script so we can separate the building of the instances -| from the actual running of the application and sending responses. -| -*/ - -return $app; +return Application::configure(basePath: dirname(__DIR__)) + ->withRouting( + web: __DIR__.'/../routes/web.php', + api: __DIR__.'/../routes/api.php', + commands: __DIR__.'/../routes/console.php', + channels: __DIR__.'/../routes/channels.php', + ) + ->withProviders([ + \App\Providers\ApiFrontendRouteServiceProvider::class, + ]) + ->withCommands([ + __DIR__.'/../app/Console/Commands', + ]) + ->withMiddleware(function (Middleware $middleware) { + /* + |---------------------------------------------------------------------- + | Global HTTP Middleware + |---------------------------------------------------------------------- + | Middleware berikut dijalankan pada setiap request ke aplikasi. + | (Sebelumnya di App\Http\Kernel::$middleware) + */ + $middleware->append([ + \App\Http\Middleware\TrustProxies::class, + \Illuminate\Http\Middleware\HandleCors::class, + \App\Http\Middleware\PreventRequestsDuringMaintenance::class, + \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class, + \App\Http\Middleware\TrimStrings::class, + \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class, + ]); + + /* + |---------------------------------------------------------------------- + | Web Middleware Group — tambahan + |---------------------------------------------------------------------- + | Middleware ini di-append ke group 'web' yang sudah ada secara default. + | (Sebelumnya di App\Http\Kernel::$middlewareGroups['web']) + */ + $middleware->web(append: [ + \App\Http\Middleware\SecurityHeaders::class, + \App\Http\Middleware\GlobalShareMiddleware::class, + ]); + + /* + |---------------------------------------------------------------------- + | Middleware Alias + |---------------------------------------------------------------------- + | Daftar alias middleware yang bisa digunakan di route. + | (Sebelumnya di App\Http\Kernel::$routeMiddleware) + */ + $middleware->alias([ + 'installed' => \App\Http\Middleware\KDInstalled::class, + 'maintenance' => \App\Http\Middleware\MaintenanceMode::class, + 'action_permission' => \App\Http\Middleware\CheckActionPermission::class, + 'xss_sanitization' => \App\Http\Middleware\XssSanitization::class, + 'complete_profile' => \App\Http\Middleware\CompleteProfile::class, + 'token.registered' => \App\Http\Middleware\TokenRegistered::class, + 'track.visitors' => \App\Http\Middleware\TrackVisitors::class, + 'otp.enabled' => \App\Http\Middleware\CheckOtpEnabled::class, + 'theme.api' => \App\Http\Middleware\ThemeApiMiddleware::class, + 'role' => \Spatie\Permission\Middleware\RoleMiddleware::class, + 'permission' => \Spatie\Permission\Middleware\PermissionMiddleware::class, + 'role_or_permission'=> \Spatie\Permission\Middleware\RoleOrPermissionMiddleware::class, + ]); + + /* + |---------------------------------------------------------------------- + | Middleware Priority + |---------------------------------------------------------------------- + | Urutan eksekusi middleware non-global yang dipaksakan. + | (Sebelumnya di App\Http\Kernel::$middlewarePriority) + */ + $middleware->priority([ + \Illuminate\Session\Middleware\StartSession::class, + \Illuminate\View\Middleware\ShareErrorsFromSession::class, + \App\Http\Middleware\Authenticate::class, + \Illuminate\Routing\Middleware\ThrottleRequests::class, + \Illuminate\Session\Middleware\AuthenticateSession::class, + \Illuminate\Routing\Middleware\SubstituteBindings::class, + \Illuminate\Auth\Middleware\Authorize::class, + \App\Http\Middleware\SecurityHeaders::class, + ]); + + /* + |---------------------------------------------------------------------- + | Rate Limiting — API + |---------------------------------------------------------------------- + | Rate limiter untuk grup 'api': 60 request per menit per user/IP. + | (Sebelumnya di AppServiceProvider::configureRateLimiting()) + */ + $middleware->api(prepend: [ + \Illuminate\Routing\Middleware\ThrottleRequests::class.':60', + ]); + }) + ->withExceptions(function (Exceptions $exceptions) { + /* + |---------------------------------------------------------------------- + | Exception Handling + |---------------------------------------------------------------------- + | Konfigurasi penanganan exception aplikasi. + | (Sebelumnya di App\Exceptions\Handler) + */ + $exceptions->dontFlash([ + 'password', + 'password_confirmation', + ]); + + // Uncomment untuk mengaktifkan Sentry error reporting: + // $exceptions->report(function (Throwable $e) { + // \Sentry\Laravel\Integration::captureUnhandledException($e); + // }); + }) + ->create(); diff --git a/bootstrap/providers.php b/bootstrap/providers.php new file mode 100644 index 0000000000..d2b5f93b5a --- /dev/null +++ b/bootstrap/providers.php @@ -0,0 +1,57 @@ +=4.0.0" + "doctrine/dbal": "<4.0.0 || >=5.0.0" }, "require-dev": { - "doctrine/dbal": "^3.7.0", + "doctrine/dbal": "^4.0.0", "nesbot/carbon": "^2.71.0 || ^3.0.0", "phpunit/phpunit": "^10.3" }, @@ -209,7 +209,7 @@ ], "support": { "issues": "https://github.com/CarbonPHP/carbon-doctrine-types/issues", - "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/2.1.0" + "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/3.2.0" }, "funding": [ { @@ -225,7 +225,7 @@ "type": "tidelift" } ], - "time": "2023-12-11T17:09:12+00:00" + "time": "2024-02-09T16:56:22+00:00" }, { "name": "cocur/slugify", @@ -303,16 +303,16 @@ }, { "name": "composer/class-map-generator", - "version": "1.7.0", + "version": "1.7.3", "source": { "type": "git", "url": "https://github.com/composer/class-map-generator.git", - "reference": "2373419b7709815ed323ebf18c3c72d03ff4a8a6" + "reference": "86d8208fc3c649a3a999daf1a63c25201be2990f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/class-map-generator/zipball/2373419b7709815ed323ebf18c3c72d03ff4a8a6", - "reference": "2373419b7709815ed323ebf18c3c72d03ff4a8a6", + "url": "https://api.github.com/repos/composer/class-map-generator/zipball/86d8208fc3c649a3a999daf1a63c25201be2990f", + "reference": "86d8208fc3c649a3a999daf1a63c25201be2990f", "shasum": "" }, "require": { @@ -356,7 +356,7 @@ ], "support": { "issues": "https://github.com/composer/class-map-generator/issues", - "source": "https://github.com/composer/class-map-generator/tree/1.7.0" + "source": "https://github.com/composer/class-map-generator/tree/1.7.3" }, "funding": [ { @@ -368,7 +368,7 @@ "type": "github" } ], - "time": "2025-11-19T10:41:15+00:00" + "time": "2026-05-05T09:17:07+00:00" }, { "name": "composer/pcre", @@ -528,29 +528,32 @@ }, { "name": "cviebrock/eloquent-sluggable", - "version": "11.0.1", + "version": "13.0.0", "source": { "type": "git", "url": "https://github.com/cviebrock/eloquent-sluggable.git", - "reference": "a4281cf0284a21efc1031a065b112ddd6c826eea" + "reference": "0a023eed5bdc7da3aa9107cb2299757ce4a656e3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cviebrock/eloquent-sluggable/zipball/a4281cf0284a21efc1031a065b112ddd6c826eea", - "reference": "a4281cf0284a21efc1031a065b112ddd6c826eea", + "url": "https://api.github.com/repos/cviebrock/eloquent-sluggable/zipball/0a023eed5bdc7da3aa9107cb2299757ce4a656e3", + "reference": "0a023eed5bdc7da3aa9107cb2299757ce4a656e3", "shasum": "" }, "require": { "cocur/slugify": "^4.3", - "illuminate/config": "^11.0", - "illuminate/database": "^11.0", - "illuminate/support": "^11.0", - "php": "^8.2" + "illuminate/config": "^13.0", + "illuminate/database": "^13.0", + "illuminate/support": "^13.0", + "php": "^8.3" }, "require-dev": { + "friendsofphp/php-cs-fixer": "~3.94.2", + "larastan/larastan": "^3.0", "mockery/mockery": "^1.4.4", - "orchestra/testbench": "^9.0", - "pestphp/pest": "^2.28" + "orchestra/testbench": "^11.0", + "pestphp/pest": "^3.7", + "phpstan/phpstan": "^2.0" }, "type": "library", "extra": { @@ -558,9 +561,6 @@ "providers": [ "Cviebrock\\EloquentSluggable\\ServiceProvider" ] - }, - "branch-alias": { - "dev-master": "11.0.x-dev" } }, "autoload": { @@ -584,13 +584,12 @@ "eloquent", "eloquent-sluggable", "laravel", - "lumen", "slug", "sluggable" ], "support": { "issues": "https://github.com/cviebrock/eloquent-sluggable/issues", - "source": "https://github.com/cviebrock/eloquent-sluggable/tree/11.0.1" + "source": "https://github.com/cviebrock/eloquent-sluggable/tree/13.0.0" }, "funding": [ { @@ -598,7 +597,7 @@ "type": "github" } ], - "time": "2024-11-29T01:32:17+00:00" + "time": "2026-03-19T14:42:10+00:00" }, { "name": "dflydev/dot-access-data", @@ -675,259 +674,6 @@ }, "time": "2024-07-08T12:26:09+00:00" }, - { - "name": "doctrine/dbal", - "version": "3.10.3", - "source": { - "type": "git", - "url": "https://github.com/doctrine/dbal.git", - "reference": "65edaca19a752730f290ec2fb89d593cb40afb43" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/65edaca19a752730f290ec2fb89d593cb40afb43", - "reference": "65edaca19a752730f290ec2fb89d593cb40afb43", - "shasum": "" - }, - "require": { - "composer-runtime-api": "^2", - "doctrine/deprecations": "^0.5.3|^1", - "doctrine/event-manager": "^1|^2", - "php": "^7.4 || ^8.0", - "psr/cache": "^1|^2|^3", - "psr/log": "^1|^2|^3" - }, - "conflict": { - "doctrine/cache": "< 1.11" - }, - "require-dev": { - "doctrine/cache": "^1.11|^2.0", - "doctrine/coding-standard": "14.0.0", - "fig/log-test": "^1", - "jetbrains/phpstorm-stubs": "2023.1", - "phpstan/phpstan": "2.1.30", - "phpstan/phpstan-strict-rules": "^2", - "phpunit/phpunit": "9.6.29", - "slevomat/coding-standard": "8.24.0", - "squizlabs/php_codesniffer": "4.0.0", - "symfony/cache": "^5.4|^6.0|^7.0", - "symfony/console": "^4.4|^5.4|^6.0|^7.0" - }, - "suggest": { - "symfony/console": "For helpful console commands such as SQL execution and import of files." - }, - "bin": [ - "bin/doctrine-dbal" - ], - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\DBAL\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - } - ], - "description": "Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.", - "homepage": "https://www.doctrine-project.org/projects/dbal.html", - "keywords": [ - "abstraction", - "database", - "db2", - "dbal", - "mariadb", - "mssql", - "mysql", - "oci8", - "oracle", - "pdo", - "pgsql", - "postgresql", - "queryobject", - "sasql", - "sql", - "sqlite", - "sqlserver", - "sqlsrv" - ], - "support": { - "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/3.10.3" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fdbal", - "type": "tidelift" - } - ], - "time": "2025-10-09T09:05:12+00:00" - }, - { - "name": "doctrine/deprecations", - "version": "1.1.6", - "source": { - "type": "git", - "url": "https://github.com/doctrine/deprecations.git", - "reference": "d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca", - "reference": "d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "conflict": { - "phpunit/phpunit": "<=7.5 || >=14" - }, - "require-dev": { - "doctrine/coding-standard": "^9 || ^12 || ^14", - "phpstan/phpstan": "1.4.10 || 2.1.30", - "phpstan/phpstan-phpunit": "^1.0 || ^2", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6 || ^10.5 || ^11.5 || ^12.4 || ^13.0", - "psr/log": "^1 || ^2 || ^3" - }, - "suggest": { - "psr/log": "Allows logging deprecations via PSR-3 logger implementation" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Deprecations\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", - "homepage": "https://www.doctrine-project.org/", - "support": { - "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/1.1.6" - }, - "time": "2026-02-07T07:09:04+00:00" - }, - { - "name": "doctrine/event-manager", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/doctrine/event-manager.git", - "reference": "b680156fa328f1dfd874fd48c7026c41570b9c6e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/event-manager/zipball/b680156fa328f1dfd874fd48c7026c41570b9c6e", - "reference": "b680156fa328f1dfd874fd48c7026c41570b9c6e", - "shasum": "" - }, - "require": { - "php": "^8.1" - }, - "conflict": { - "doctrine/common": "<2.9" - }, - "require-dev": { - "doctrine/coding-standard": "^12", - "phpstan/phpstan": "^1.8.8", - "phpunit/phpunit": "^10.5", - "vimeo/psalm": "^5.24" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Common\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - }, - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com" - } - ], - "description": "The Doctrine Event Manager is a simple PHP event system that was built to be used with the various Doctrine projects.", - "homepage": "https://www.doctrine-project.org/projects/event-manager.html", - "keywords": [ - "event", - "event dispatcher", - "event manager", - "event system", - "events" - ], - "support": { - "issues": "https://github.com/doctrine/event-manager/issues", - "source": "https://github.com/doctrine/event-manager/tree/2.0.1" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fevent-manager", - "type": "tidelift" - } - ], - "time": "2024-05-22T20:47:39+00:00" - }, { "name": "doctrine/inflector", "version": "2.1.0", @@ -1226,56 +972,6 @@ ], "time": "2025-03-06T22:45:56+00:00" }, - { - "name": "erusev/parsedown", - "version": "1.7.4", - "source": { - "type": "git", - "url": "https://github.com/erusev/parsedown.git", - "reference": "cb17b6477dfff935958ba01325f2e8a2bfa6dab3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/erusev/parsedown/zipball/cb17b6477dfff935958ba01325f2e8a2bfa6dab3", - "reference": "cb17b6477dfff935958ba01325f2e8a2bfa6dab3", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35" - }, - "type": "library", - "autoload": { - "psr-0": { - "Parsedown": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Emanuil Rusev", - "email": "hello@erusev.com", - "homepage": "http://erusev.com" - } - ], - "description": "Parser for Markdown.", - "homepage": "http://parsedown.org", - "keywords": [ - "markdown", - "parser" - ], - "support": { - "issues": "https://github.com/erusev/parsedown/issues", - "source": "https://github.com/erusev/parsedown/tree/1.7.x" - }, - "time": "2019-12-30T22:54:17+00:00" - }, { "name": "ezyang/htmlpurifier", "version": "v4.19.0", @@ -1473,31 +1169,31 @@ }, { "name": "fruitcake/php-cors", - "version": "v1.3.0", + "version": "v1.4.0", "source": { "type": "git", "url": "https://github.com/fruitcake/php-cors.git", - "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b" + "reference": "38aaa6c3fd4c157ffe2a4d10aa8b9b16ba8de379" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/3d158f36e7875e2f040f37bc0573956240a5a38b", - "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b", + "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/38aaa6c3fd4c157ffe2a4d10aa8b9b16ba8de379", + "reference": "38aaa6c3fd4c157ffe2a4d10aa8b9b16ba8de379", "shasum": "" }, "require": { - "php": "^7.4|^8.0", - "symfony/http-foundation": "^4.4|^5.4|^6|^7" + "php": "^8.1", + "symfony/http-foundation": "^5.4|^6.4|^7.3|^8" }, "require-dev": { - "phpstan/phpstan": "^1.4", + "phpstan/phpstan": "^2", "phpunit/phpunit": "^9", - "squizlabs/php_codesniffer": "^3.5" + "squizlabs/php_codesniffer": "^4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2-dev" + "dev-master": "1.3-dev" } }, "autoload": { @@ -1528,7 +1224,7 @@ ], "support": { "issues": "https://github.com/fruitcake/php-cors/issues", - "source": "https://github.com/fruitcake/php-cors/tree/v1.3.0" + "source": "https://github.com/fruitcake/php-cors/tree/v1.4.0" }, "funding": [ { @@ -1540,28 +1236,28 @@ "type": "github" } ], - "time": "2023-10-12T05:21:21+00:00" + "time": "2025-12-03T09:33:47+00:00" }, { "name": "graham-campbell/result-type", - "version": "v1.1.3", + "version": "v1.1.4", "source": { "type": "git", "url": "https://github.com/GrahamCampbell/Result-Type.git", - "reference": "3ba905c11371512af9d9bdd27d99b782216b6945" + "reference": "e01f4a821471308ba86aa202fed6698b6b695e3b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/3ba905c11371512af9d9bdd27d99b782216b6945", - "reference": "3ba905c11371512af9d9bdd27d99b782216b6945", + "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/e01f4a821471308ba86aa202fed6698b6b695e3b", + "reference": "e01f4a821471308ba86aa202fed6698b6b695e3b", "shasum": "" }, "require": { "php": "^7.2.5 || ^8.0", - "phpoption/phpoption": "^1.9.3" + "phpoption/phpoption": "^1.9.5" }, "require-dev": { - "phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28" + "phpunit/phpunit": "^8.5.41 || ^9.6.22 || ^10.5.45 || ^11.5.7" }, "type": "library", "autoload": { @@ -1590,7 +1286,7 @@ ], "support": { "issues": "https://github.com/GrahamCampbell/Result-Type/issues", - "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.3" + "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.4" }, "funding": [ { @@ -1602,29 +1298,30 @@ "type": "tidelift" } ], - "time": "2024-07-20T21:45:45+00:00" + "time": "2025-12-27T19:43:20+00:00" }, { "name": "guzzlehttp/guzzle", - "version": "7.10.0", + "version": "7.11.0", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4" + "reference": "c987f8ce84b8434fa430795eca0f3430663da72b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/b51ac707cfa420b7bfd4e4d5e510ba8008e822b4", - "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/c987f8ce84b8434fa430795eca0f3430663da72b", + "reference": "c987f8ce84b8434fa430795eca0f3430663da72b", "shasum": "" }, "require": { "ext-json": "*", - "guzzlehttp/promises": "^2.3", - "guzzlehttp/psr7": "^2.8", + "guzzlehttp/promises": "^2.5", + "guzzlehttp/psr7": "^2.11", "php": "^7.2.5 || ^8.0", "psr/http-client": "^1.0", - "symfony/deprecation-contracts": "^2.2 || ^3.0" + "symfony/deprecation-contracts": "^2.5 || ^3.0", + "symfony/polyfill-php80": "^1.24" }, "provide": { "psr/http-client-implementation": "1.0" @@ -1633,8 +1330,9 @@ "bamarni/composer-bin-plugin": "^1.8.2", "ext-curl": "*", "guzzle/client-integration-tests": "3.0.2", + "guzzlehttp/test-server": "^0.4", "php-http/message-factory": "^1.1", - "phpunit/phpunit": "^8.5.39 || ^9.6.20", + "phpunit/phpunit": "^8.5.52 || ^9.6.34", "psr/log": "^1.1 || ^2.0 || ^3.0" }, "suggest": { @@ -1712,7 +1410,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.10.0" + "source": "https://github.com/guzzle/guzzle/tree/7.11.0" }, "funding": [ { @@ -1728,28 +1426,29 @@ "type": "tidelift" } ], - "time": "2025-08-23T22:36:01+00:00" + "time": "2026-06-02T12:40:51+00:00" }, { "name": "guzzlehttp/promises", - "version": "2.3.0", + "version": "2.5.0", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "481557b130ef3790cf82b713667b43030dc9c957" + "reference": "4360e982f87f5f258bf872d094647791db2f4c8e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/481557b130ef3790cf82b713667b43030dc9c957", - "reference": "481557b130ef3790cf82b713667b43030dc9c957", + "url": "https://api.github.com/repos/guzzle/promises/zipball/4360e982f87f5f258bf872d094647791db2f4c8e", + "reference": "4360e982f87f5f258bf872d094647791db2f4c8e", "shasum": "" }, "require": { - "php": "^7.2.5 || ^8.0" + "php": "^7.2.5 || ^8.0", + "symfony/deprecation-contracts": "^2.5 || ^3.0" }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.44 || ^9.6.25" + "phpunit/phpunit": "^8.5.52 || ^9.6.34" }, "type": "library", "extra": { @@ -1795,7 +1494,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/2.3.0" + "source": "https://github.com/guzzle/promises/tree/2.5.0" }, "funding": [ { @@ -1811,27 +1510,29 @@ "type": "tidelift" } ], - "time": "2025-08-22T14:34:08+00:00" + "time": "2026-06-02T12:23:43+00:00" }, { "name": "guzzlehttp/psr7", - "version": "2.8.0", + "version": "2.11.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "21dc724a0583619cd1652f673303492272778051" + "reference": "bbb5e61349fa5cb822b3e87842b951088b76b81f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/21dc724a0583619cd1652f673303492272778051", - "reference": "21dc724a0583619cd1652f673303492272778051", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/bbb5e61349fa5cb822b3e87842b951088b76b81f", + "reference": "bbb5e61349fa5cb822b3e87842b951088b76b81f", "shasum": "" }, "require": { "php": "^7.2.5 || ^8.0", "psr/http-factory": "^1.0", "psr/http-message": "^1.1 || ^2.0", - "ralouphie/getallheaders": "^3.0" + "ralouphie/getallheaders": "^3.0", + "symfony/deprecation-contracts": "^2.5 || ^3.0", + "symfony/polyfill-php80": "^1.24" }, "provide": { "psr/http-factory-implementation": "1.0", @@ -1839,8 +1540,9 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "http-interop/http-factory-tests": "0.9.0", - "phpunit/phpunit": "^8.5.44 || ^9.6.25" + "http-interop/http-factory-tests": "1.1.0", + "jshttp/mime-db": "1.54.0.1", + "phpunit/phpunit": "^8.5.52 || ^9.6.34" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" @@ -1911,7 +1613,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.8.0" + "source": "https://github.com/guzzle/psr7/tree/2.11.0" }, "funding": [ { @@ -1927,20 +1629,20 @@ "type": "tidelift" } ], - "time": "2025-08-23T21:21:41+00:00" + "time": "2026-06-02T12:30:48+00:00" }, { "name": "guzzlehttp/uri-template", - "version": "v1.0.5", + "version": "v1.0.6", "source": { "type": "git", "url": "https://github.com/guzzle/uri-template.git", - "reference": "4f4bbd4e7172148801e76e3decc1e559bdee34e1" + "reference": "eef7f87bab6f204eba3c39224d8075c70c637946" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/uri-template/zipball/4f4bbd4e7172148801e76e3decc1e559bdee34e1", - "reference": "4f4bbd4e7172148801e76e3decc1e559bdee34e1", + "url": "https://api.github.com/repos/guzzle/uri-template/zipball/eef7f87bab6f204eba3c39224d8075c70c637946", + "reference": "eef7f87bab6f204eba3c39224d8075c70c637946", "shasum": "" }, "require": { @@ -1949,7 +1651,7 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.44 || ^9.6.25", + "phpunit/phpunit": "^8.5.52 || ^9.6.34", "uri-template/tests": "1.0.0" }, "type": "library", @@ -1997,7 +1699,7 @@ ], "support": { "issues": "https://github.com/guzzle/uri-template/issues", - "source": "https://github.com/guzzle/uri-template/tree/v1.0.5" + "source": "https://github.com/guzzle/uri-template/tree/v1.0.6" }, "funding": [ { @@ -2013,20 +1715,20 @@ "type": "tidelift" } ], - "time": "2025-08-22T14:27:06+00:00" + "time": "2026-05-23T22:00:21+00:00" }, { "name": "hexadog/laravel-theme-installer", - "version": "v1.10.11", + "version": "v1.10.12", "source": { "type": "git", "url": "https://github.com/hexadog/laravel-theme-installer.git", - "reference": "5a7757aa4f95dd58d8dd7bda4573de81d9ad97ee" + "reference": "3412b0f5a8c87fc7ba3b62a3eaa31afdd43648f1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hexadog/laravel-theme-installer/zipball/5a7757aa4f95dd58d8dd7bda4573de81d9ad97ee", - "reference": "5a7757aa4f95dd58d8dd7bda4573de81d9ad97ee", + "url": "https://api.github.com/repos/hexadog/laravel-theme-installer/zipball/3412b0f5a8c87fc7ba3b62a3eaa31afdd43648f1", + "reference": "3412b0f5a8c87fc7ba3b62a3eaa31afdd43648f1", "shasum": "" }, "require": { @@ -2036,7 +1738,7 @@ "require-dev": { "composer/composer": "^1.3|^2.7.7", "mockery/mockery": "^1.4", - "phpunit/phpunit": "^7.0|^8.0|^9.0" + "phpunit/phpunit": "^7.0|^8.0|^9.0|^12.0" }, "type": "composer-plugin", "extra": { @@ -2064,32 +1766,32 @@ "issues": "https://github.com/hexadog/laravel-theme-installer/issues", "source": "https://github.com/hexadog/laravel-theme-installer" }, - "time": "2024-08-18T10:48:04+00:00" + "time": "2026-04-13T17:11:18+00:00" }, { "name": "hexadog/laravel-themes-manager", - "version": "v1.14.0", + "version": "v1.15.0", "source": { "type": "git", "url": "https://github.com/hexadog/laravel-themes-manager.git", - "reference": "24ce0238425fc5f761a0cc17133b94d91797de48" + "reference": "b553804605b3e16bf1d9f10719d631a6a05752e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hexadog/laravel-themes-manager/zipball/24ce0238425fc5f761a0cc17133b94d91797de48", - "reference": "24ce0238425fc5f761a0cc17133b94d91797de48", + "url": "https://api.github.com/repos/hexadog/laravel-themes-manager/zipball/b553804605b3e16bf1d9f10719d631a6a05752e2", + "reference": "b553804605b3e16bf1d9f10719d631a6a05752e2", "shasum": "" }, "require": { "ext-json": "*", "hexadog/laravel-theme-installer": "^1.0", - "illuminate/view": "^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", + "illuminate/view": "^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0", "php": ">=7.4" }, "require-dev": { "laravel/pint": "^1.10", - "orchestra/testbench": "^8.3", - "phpunit/phpunit": "^7.0|^8.0|^9.0|^10.0|^11.0|^12.0" + "orchestra/testbench": "^8.3|^10.0|^11.0", + "phpunit/phpunit": "^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0" }, "type": "library", "extra": { @@ -2126,20 +1828,20 @@ "issues": "https://github.com/hexadog/laravel-themes-manager/issues", "source": "https://github.com/hexadog/laravel-themes-manager" }, - "time": "2025-03-03T16:41:21+00:00" + "time": "2026-04-13T17:12:54+00:00" }, { "name": "intervention/gif", - "version": "4.2.2", + "version": "4.2.4", "source": { "type": "git", "url": "https://github.com/Intervention/gif.git", - "reference": "5999eac6a39aa760fb803bc809e8909ee67b451a" + "reference": "c3598a16ebe7690cd55640c44144a9df383ea73c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Intervention/gif/zipball/5999eac6a39aa760fb803bc809e8909ee67b451a", - "reference": "5999eac6a39aa760fb803bc809e8909ee67b451a", + "url": "https://api.github.com/repos/Intervention/gif/zipball/c3598a16ebe7690cd55640c44144a9df383ea73c", + "reference": "c3598a16ebe7690cd55640c44144a9df383ea73c", "shasum": "" }, "require": { @@ -2178,7 +1880,7 @@ ], "support": { "issues": "https://github.com/Intervention/gif/issues", - "source": "https://github.com/Intervention/gif/tree/4.2.2" + "source": "https://github.com/Intervention/gif/tree/4.2.4" }, "funding": [ { @@ -2194,20 +1896,20 @@ "type": "ko_fi" } ], - "time": "2025-03-29T07:46:21+00:00" + "time": "2026-01-04T09:27:23+00:00" }, { "name": "intervention/image", - "version": "3.11.4", + "version": "3.11.3", "source": { "type": "git", "url": "https://github.com/Intervention/image.git", - "reference": "8c49eb21a6d2572532d1bc425964264f3e496846" + "reference": "d0f097b8a3fa8fb758efc9440b513aa3833cda17" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Intervention/image/zipball/8c49eb21a6d2572532d1bc425964264f3e496846", - "reference": "8c49eb21a6d2572532d1bc425964264f3e496846", + "url": "https://api.github.com/repos/Intervention/image/zipball/d0f097b8a3fa8fb758efc9440b513aa3833cda17", + "reference": "d0f097b8a3fa8fb758efc9440b513aa3833cda17", "shasum": "" }, "require": { @@ -2254,7 +1956,7 @@ ], "support": { "issues": "https://github.com/Intervention/image/issues", - "source": "https://github.com/Intervention/image/tree/3.11.4" + "source": "https://github.com/Intervention/image/tree/3.11.3" }, "funding": [ { @@ -2270,27 +1972,27 @@ "type": "ko_fi" } ], - "time": "2025-07-30T13:13:19+00:00" + "time": "2025-05-22T17:26:23+00:00" }, { "name": "jaybizzle/crawler-detect", - "version": "v1.3.6", + "version": "v1.3.11", "source": { "type": "git", "url": "https://github.com/JayBizzle/Crawler-Detect.git", - "reference": "61f2ef1ad2d0ae922c265931cb0a8032a1ed2813" + "reference": "484792759de89fe94ea6a192065ea7cd99f1eaa2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/JayBizzle/Crawler-Detect/zipball/61f2ef1ad2d0ae922c265931cb0a8032a1ed2813", - "reference": "61f2ef1ad2d0ae922c265931cb0a8032a1ed2813", + "url": "https://api.github.com/repos/JayBizzle/Crawler-Detect/zipball/484792759de89fe94ea6a192065ea7cd99f1eaa2", + "reference": "484792759de89fe94ea6a192065ea7cd99f1eaa2", "shasum": "" }, "require": { "php": ">=7.1.0" }, "require-dev": { - "phpunit/phpunit": "^4.8|^5.5|^6.5|^9.4" + "phpunit/phpunit": "^4.8|^5.5|^6.5|^7.5|^8.5.52|^9.4" }, "type": "library", "autoload": { @@ -2320,9 +2022,9 @@ ], "support": { "issues": "https://github.com/JayBizzle/Crawler-Detect/issues", - "source": "https://github.com/JayBizzle/Crawler-Detect/tree/v1.3.6" + "source": "https://github.com/JayBizzle/Crawler-Detect/tree/v1.3.11" }, - "time": "2025-09-30T16:22:43+00:00" + "time": "2026-05-10T14:08:06+00:00" }, { "name": "jean85/pretty-package-versions", @@ -2469,29 +2171,29 @@ }, { "name": "josiasmontag/laravel-recaptchav3", - "version": "1.0.4", + "version": "1.0.5", "source": { "type": "git", "url": "https://github.com/josiasmontag/laravel-recaptchav3.git", - "reference": "08548b818223a20fc7db04a8d060758f8efc4ef5" + "reference": "97a055fff91cd1eef0e1f0309489ea8269a487d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/josiasmontag/laravel-recaptchav3/zipball/08548b818223a20fc7db04a8d060758f8efc4ef5", - "reference": "08548b818223a20fc7db04a8d060758f8efc4ef5", + "url": "https://api.github.com/repos/josiasmontag/laravel-recaptchav3/zipball/97a055fff91cd1eef0e1f0309489ea8269a487d0", + "reference": "97a055fff91cd1eef0e1f0309489ea8269a487d0", "shasum": "" }, "require": { "guzzlehttp/guzzle": "^6.2|^7.0", - "illuminate/container": "~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", - "illuminate/http": "~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", - "illuminate/support": "~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", + "illuminate/container": "~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0", + "illuminate/http": "~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0", + "illuminate/support": "~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0", "php": ">=7.1.0" }, "require-dev": { "mockery/mockery": "^1.2", - "orchestra/testbench": "~3.7.0|~3.8.0|^4.0|^5.0|^6.0|^7.0|^8.0|^9.0|^10.0", - "phpunit/phpunit": "6.2|^7.0|^8.0|^9.5.10|^10.5|^11.5.3" + "orchestra/testbench": "~3.7.0|~3.8.0|^4.0|^5.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", + "phpunit/phpunit": "6.2|^7.0|^8.0|^9.5.10|^10.5|^11.5.3|^12.5.12" }, "type": "library", "extra": { @@ -2529,57 +2231,56 @@ ], "support": { "issues": "https://github.com/josiasmontag/laravel-recaptchav3/issues", - "source": "https://github.com/josiasmontag/laravel-recaptchav3/tree/1.0.4" + "source": "https://github.com/josiasmontag/laravel-recaptchav3/tree/1.0.5" }, - "time": "2025-02-25T08:00:22+00:00" + "time": "2026-02-24T15:20:53+00:00" }, { "name": "knuckleswtf/scribe", - "version": "5.6.0", + "version": "5.10.0", "source": { "type": "git", "url": "https://github.com/knuckleswtf/scribe.git", - "reference": "0b7c6d90d239b8829d3449472516c5490cc1f154" + "reference": "d4da86e57e49dac4694b200354cfa962bfae3168" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/knuckleswtf/scribe/zipball/0b7c6d90d239b8829d3449472516c5490cc1f154", - "reference": "0b7c6d90d239b8829d3449472516c5490cc1f154", + "url": "https://api.github.com/repos/knuckleswtf/scribe/zipball/d4da86e57e49dac4694b200354cfa962bfae3168", + "reference": "d4da86e57e49dac4694b200354cfa962bfae3168", "shasum": "" }, "require": { - "erusev/parsedown": "1.7.4", "ext-fileinfo": "*", - "ext-json": "*", "ext-pdo": "*", "fakerphp/faker": "^1.23.1", - "laravel/framework": "^9.0|^10.0|^11.0|^12.0", + "laravel/framework": "^9.21 || ^10.0 || ^11.0 || ^12.0 || ^13.0", "league/flysystem": "^3.0", "mpociot/reflection-docblock": "^1.0.1", "nikic/php-parser": "^5.0", - "nunomaduro/collision": "^6.0|^7.0|^8.0", + "nunomaduro/collision": "^6.0 || ^7.0 || ^8.0", + "parsedown/parsedown": "^1.7", "php": ">=8.1", "ramsey/uuid": "^4.2.2", - "shalvah/clara": "3.3.0", - "shalvah/upgrader": ">=0.6.0", - "symfony/var-exporter": "^6.0|^7.0", - "symfony/yaml": "^6.0|^7.0" + "shalvah/upgrader": "^0.6.0", + "symfony/var-exporter": "^6.0 || ^7.0 || ^8.0", + "symfony/yaml": "^6.0 || ^7.0 || ^8.0" }, "replace": { "mpociot/laravel-apidoc-generator": "*" }, "require-dev": { - "dms/phpunit-arraysubset-asserts": "^v0.5.0", + "dms/phpunit-arraysubset-asserts": "^0.5.0", "laravel/legacy-factories": "^1.3.0", + "laravel/pint": "^1.20", "league/fractal": "^0.20", "nikic/fast-route": "^1.3", - "orchestra/testbench": "^7.0|^8.0|^v9.10.0|^10.0", - "pestphp/pest": "^1.21|^2.0|^3.0", + "orchestra/testbench": "^7.0 || ^8.0 || ^9.10 || ^10.0 || ^11.0", + "pestphp/pest": "^1.21 || ^2.0 || ^3.0 || ^4.0", "phpstan/phpstan": "^2.1.5", - "phpunit/phpunit": "^9.0|^10.0|^11.0", + "phpunit/phpunit": "^9.0 || ^10.0 || ^11.0 || ^12.0", "spatie/ray": "^1.41", - "symfony/css-selector": "^6.0|^7.0", - "symfony/dom-crawler": "^6.0|^7.0" + "symfony/css-selector": "^6.0 || ^7.0 || ^8.0", + "symfony/dom-crawler": "^6.0 || ^7.0 || ^8.0" }, "type": "library", "extra": { @@ -2608,7 +2309,7 @@ } ], "description": "Generate API documentation for humans from your Laravel codebase.✍", - "homepage": "http://github.com/knuckleswtf/scribe", + "homepage": "https://github.com/knuckleswtf/scribe", "keywords": [ "api", "documentation", @@ -2616,7 +2317,7 @@ ], "support": { "issues": "https://github.com/knuckleswtf/scribe/issues", - "source": "https://github.com/knuckleswtf/scribe/tree/5.6.0" + "source": "https://github.com/knuckleswtf/scribe/tree/5.10.0" }, "funding": [ { @@ -2624,7 +2325,7 @@ "type": "patreon" } ], - "time": "2025-11-23T17:50:45+00:00" + "time": "2026-05-09T21:49:49+00:00" }, { "name": "laminas/laminas-code", @@ -2691,20 +2392,20 @@ }, { "name": "laracasts/flash", - "version": "3.2.4", + "version": "3.2.6", "source": { "type": "git", "url": "https://github.com/laracasts/flash.git", - "reference": "0ea47bfbf12a33113247c367798a34e519020f8d" + "reference": "4fc18fed3152d8910ed64589b0f5d049fd6a0806" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laracasts/flash/zipball/0ea47bfbf12a33113247c367798a34e519020f8d", - "reference": "0ea47bfbf12a33113247c367798a34e519020f8d", + "url": "https://api.github.com/repos/laracasts/flash/zipball/4fc18fed3152d8910ed64589b0f5d049fd6a0806", + "reference": "4fc18fed3152d8910ed64589b0f5d049fd6a0806", "shasum": "" }, "require": { - "illuminate/support": "~5.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", + "illuminate/support": "~5.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0", "php": ">=5.4.0" }, "require-dev": { @@ -2742,30 +2443,30 @@ ], "description": "Easy flash notifications", "support": { - "source": "https://github.com/laracasts/flash/tree/3.2.4" + "source": "https://github.com/laracasts/flash/tree/3.2.6" }, - "time": "2025-02-06T14:43:27+00:00" + "time": "2026-03-25T17:55:04+00:00" }, { "name": "laravel/framework", - "version": "v11.46.2", + "version": "v13.14.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "d6b16e72a98c2ad3257ec6b3f1f00532c3b1c2fc" + "reference": "e60b1c817a9ef7da319e4007de6cfda5301a58c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/d6b16e72a98c2ad3257ec6b3f1f00532c3b1c2fc", - "reference": "d6b16e72a98c2ad3257ec6b3f1f00532c3b1c2fc", + "url": "https://api.github.com/repos/laravel/framework/zipball/e60b1c817a9ef7da319e4007de6cfda5301a58c0", + "reference": "e60b1c817a9ef7da319e4007de6cfda5301a58c0", "shasum": "" }, "require": { - "brick/math": "^0.9.3|^0.10.2|^0.11|^0.12|^0.13|^0.14", + "brick/math": "^0.14.2 || ^0.15 || ^0.16 || ^0.17", "composer-runtime-api": "^2.2", "doctrine/inflector": "^2.0.5", "dragonmantank/cron-expression": "^3.4", - "egulias/email-validator": "^3.2.1|^4.0", + "egulias/email-validator": "^4.0", "ext-ctype": "*", "ext-filter": "*", "ext-hash": "*", @@ -2775,33 +2476,36 @@ "ext-tokenizer": "*", "fruitcake/php-cors": "^1.3", "guzzlehttp/guzzle": "^7.8.2", + "guzzlehttp/promises": "^2.0.3", "guzzlehttp/uri-template": "^1.0", - "laravel/prompts": "^0.1.18|^0.2.0|^0.3.0", - "laravel/serializable-closure": "^1.3|^2.0", - "league/commonmark": "^2.7", + "laravel/prompts": "^0.3.0", + "laravel/serializable-closure": "^2.0.10", + "league/commonmark": "^2.8.1", "league/flysystem": "^3.25.1", "league/flysystem-local": "^3.25.1", "league/uri": "^7.5.1", "monolog/monolog": "^3.0", - "nesbot/carbon": "^2.72.6|^3.8.4", + "nesbot/carbon": "^3.8.4", "nunomaduro/termwind": "^2.0", - "php": "^8.2", - "psr/container": "^1.1.1|^2.0.1", - "psr/log": "^1.0|^2.0|^3.0", - "psr/simple-cache": "^1.0|^2.0|^3.0", + "php": "^8.3", + "psr/container": "^1.1.1 || ^2.0.1", + "psr/log": "^1.0 || ^2.0 || ^3.0", + "psr/simple-cache": "^1.0 || ^2.0 || ^3.0", "ramsey/uuid": "^4.7", - "symfony/console": "^7.0.3", - "symfony/error-handler": "^7.0.3", - "symfony/finder": "^7.0.3", - "symfony/http-foundation": "^7.2.0", - "symfony/http-kernel": "^7.0.3", - "symfony/mailer": "^7.0.3", - "symfony/mime": "^7.0.3", - "symfony/polyfill-php83": "^1.31", - "symfony/process": "^7.0.3", - "symfony/routing": "^7.0.3", - "symfony/uid": "^7.0.3", - "symfony/var-dumper": "^7.0.3", + "symfony/console": "^7.4.0 || ^8.0.0", + "symfony/error-handler": "^7.4.0 || ^8.0.0", + "symfony/finder": "^7.4.0 || ^8.0.0", + "symfony/http-foundation": "^7.4.0 || ^8.0.0", + "symfony/http-kernel": "^7.4.0 || ^8.0.0", + "symfony/mailer": "^7.4.0 || ^8.0.0", + "symfony/mime": "^7.4.0 || ^8.0.0", + "symfony/polyfill-php84": "^1.36", + "symfony/polyfill-php85": "^1.36", + "symfony/polyfill-php86": "^1.36", + "symfony/process": "^7.4.5 || ^8.0.5", + "symfony/routing": "^7.4.0 || ^8.0.0", + "symfony/uid": "^7.4.0 || ^8.0.0", + "symfony/var-dumper": "^7.4.0 || ^8.0.0", "tijsverkoyen/css-to-inline-styles": "^2.2.5", "vlucas/phpdotenv": "^5.6.1", "voku/portable-ascii": "^2.0.2" @@ -2810,9 +2514,9 @@ "tightenco/collect": "<5.5.33" }, "provide": { - "psr/container-implementation": "1.1|2.0", - "psr/log-implementation": "1.0|2.0|3.0", - "psr/simple-cache-implementation": "1.0|2.0|3.0" + "psr/container-implementation": "1.1 || 2.0", + "psr/log-implementation": "1.0 || 2.0 || 3.0", + "psr/simple-cache-implementation": "1.0 || 2.0 || 3.0" }, "replace": { "illuminate/auth": "self.version", @@ -2833,6 +2537,7 @@ "illuminate/filesystem": "self.version", "illuminate/hashing": "self.version", "illuminate/http": "self.version", + "illuminate/json-schema": "self.version", "illuminate/log": "self.version", "illuminate/macroable": "self.version", "illuminate/mail": "self.version", @@ -2842,6 +2547,7 @@ "illuminate/process": "self.version", "illuminate/queue": "self.version", "illuminate/redis": "self.version", + "illuminate/reflection": "self.version", "illuminate/routing": "self.version", "illuminate/session": "self.version", "illuminate/support": "self.version", @@ -2856,8 +2562,7 @@ "aws/aws-sdk-php": "^3.322.9", "ext-gmp": "*", "fakerphp/faker": "^1.24", - "guzzlehttp/promises": "^2.0.3", - "guzzlehttp/psr7": "^2.4", + "guzzlehttp/psr7": "^2.9", "laravel/pint": "^1.18", "league/flysystem-aws-s3-v3": "^3.25.1", "league/flysystem-ftp": "^3.25.1", @@ -2865,22 +2570,24 @@ "league/flysystem-read-only": "^3.25.1", "league/flysystem-sftp-v3": "^3.25.1", "mockery/mockery": "^1.6.10", - "orchestra/testbench-core": "^9.16.1", - "pda/pheanstalk": "^5.0.6", + "opis/json-schema": "^2.4.1", + "orchestra/testbench-core": "^11.0.0", + "pda/pheanstalk": "^7.0.0 || ^8.0.0", "php-http/discovery": "^1.15", "phpstan/phpstan": "^2.0", - "phpunit/phpunit": "^10.5.35|^11.3.6|^12.0.1", - "predis/predis": "^2.3", - "resend/resend-php": "^0.10.0", - "symfony/cache": "^7.0.3", - "symfony/http-client": "^7.0.3", - "symfony/psr-http-message-bridge": "^7.0.3", - "symfony/translation": "^7.0.3" + "phpunit/phpunit": "^11.5.50 || ^12.5.8 || ^13.0.3", + "predis/predis": "^2.3 || ^3.0", + "rector/rector": "^2.3", + "resend/resend-php": "^1.0", + "symfony/cache": "^7.4.0 || ^8.0.0", + "symfony/http-client": "^7.4.0 || ^8.0.0", + "symfony/psr-http-message-bridge": "^7.4.0 || ^8.0.0", + "symfony/translation": "^7.4.0 || ^8.0.0" }, "suggest": { "ably/ably-php": "Required to use the Ably broadcast driver (^1.0).", "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.322.9).", - "brianium/paratest": "Required to run tests in parallel (^7.0|^8.0).", + "brianium/paratest": "Required to run tests in parallel (^7.0 || ^8.0).", "ext-apcu": "Required to use the APC cache driver.", "ext-fileinfo": "Required to use the Filesystem class.", "ext-ftp": "Required to use the Flysystem FTP driver.", @@ -2889,8 +2596,8 @@ "ext-pcntl": "Required to use all features of the queue worker and console signal trapping.", "ext-pdo": "Required to use all database features.", "ext-posix": "Required to use all features of the queue worker.", - "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0|^6.0).", - "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", + "ext-redis": "Required to use the Redis cache and queue drivers (^4.0 || ^5.0 || ^6.0).", + "fakerphp/faker": "Required to generate fake data using the fake() helper (^1.23).", "filp/whoops": "Required for friendly error pages in development (^2.14.3).", "laravel/tinker": "Required to use the tinker console command (^2.0).", "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.25.1).", @@ -2899,24 +2606,25 @@ "league/flysystem-read-only": "Required to use read-only disks (^3.25.1)", "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.25.1).", "mockery/mockery": "Required to use mocking (^1.6).", - "pda/pheanstalk": "Required to use the beanstalk queue driver (^5.0).", + "pda/pheanstalk": "Required to use the beanstalk queue driver (^7.0 || ^8.0).", "php-http/discovery": "Required to use PSR-7 bridging features (^1.15).", - "phpunit/phpunit": "Required to use assertions and run tests (^10.5.35|^11.3.6|^12.0.1).", - "predis/predis": "Required to use the predis connector (^2.3).", + "phpunit/phpunit": "Required to use assertions and run tests (^11.5.50 || ^12.5.8 || ^13.0.3).", + "predis/predis": "Required to use the predis connector (^2.3 || ^3.0).", "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", - "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^6.0|^7.0).", - "resend/resend-php": "Required to enable support for the Resend mail transport (^0.10.0).", - "symfony/cache": "Required to PSR-6 cache bridge (^7.0).", - "symfony/filesystem": "Required to enable support for relative symbolic links (^7.0).", - "symfony/http-client": "Required to enable support for the Symfony API mail transports (^7.0).", - "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^7.0).", - "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^7.0).", - "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^7.0)." + "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^6.0 || ^7.0).", + "resend/resend-php": "Required to enable support for the Resend mail transport (^0.10.0 || ^1.0).", + "spatie/fork": "Required to use the 'fork' concurrency driver (^1.2).", + "symfony/cache": "Required to PSR-6 cache bridge (^7.4 || ^8.0).", + "symfony/filesystem": "Required to enable support for relative symbolic links (^7.4 || ^8.0).", + "symfony/http-client": "Required to enable support for the Symfony API mail transports (^7.4 || ^8.0).", + "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^7.4 || ^8.0).", + "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^7.4 || ^8.0).", + "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^7.4 || ^8.0)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "11.x-dev" + "dev-master": "13.0.x-dev" } }, "autoload": { @@ -2927,6 +2635,7 @@ "src/Illuminate/Filesystem/functions.php", "src/Illuminate/Foundation/helpers.php", "src/Illuminate/Log/functions.php", + "src/Illuminate/Reflection/helpers.php", "src/Illuminate/Support/functions.php", "src/Illuminate/Support/helpers.php" ], @@ -2935,7 +2644,8 @@ "Illuminate\\Support\\": [ "src/Illuminate/Macroable/", "src/Illuminate/Collections/", - "src/Illuminate/Conditionable/" + "src/Illuminate/Conditionable/", + "src/Illuminate/Reflection/" ] } }, @@ -2959,24 +2669,24 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2025-11-25T19:02:06+00:00" + "time": "2026-06-04T18:46:35+00:00" }, { "name": "laravel/helpers", - "version": "v1.8.2", + "version": "v1.8.3", "source": { "type": "git", "url": "https://github.com/laravel/helpers.git", - "reference": "98499eea4c1cca76fb0fb37ed365a468773daf0a" + "reference": "5915be977c7cc05fe2498d561b8c026ee56567dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/helpers/zipball/98499eea4c1cca76fb0fb37ed365a468773daf0a", - "reference": "98499eea4c1cca76fb0fb37ed365a468773daf0a", + "url": "https://api.github.com/repos/laravel/helpers/zipball/5915be977c7cc05fe2498d561b8c026ee56567dd", + "reference": "5915be977c7cc05fe2498d561b8c026ee56567dd", "shasum": "" }, "require": { - "illuminate/support": "~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", + "illuminate/support": "~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0", "php": "^7.2.0|^8.0" }, "require-dev": { @@ -3014,36 +2724,36 @@ "laravel" ], "support": { - "source": "https://github.com/laravel/helpers/tree/v1.8.2" + "source": "https://github.com/laravel/helpers/tree/v1.8.3" }, - "time": "2025-11-25T14:46:28+00:00" + "time": "2026-03-17T16:40:11+00:00" }, { "name": "laravel/prompts", - "version": "v0.3.8", + "version": "v0.3.18", "source": { "type": "git", "url": "https://github.com/laravel/prompts.git", - "reference": "096748cdfb81988f60090bbb839ce3205ace0d35" + "reference": "a19af51bb144bf87f08397921fa619f85c7d4e72" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/prompts/zipball/096748cdfb81988f60090bbb839ce3205ace0d35", - "reference": "096748cdfb81988f60090bbb839ce3205ace0d35", + "url": "https://api.github.com/repos/laravel/prompts/zipball/a19af51bb144bf87f08397921fa619f85c7d4e72", + "reference": "a19af51bb144bf87f08397921fa619f85c7d4e72", "shasum": "" }, "require": { "composer-runtime-api": "^2.2", "ext-mbstring": "*", "php": "^8.1", - "symfony/console": "^6.2|^7.0" + "symfony/console": "^6.2|^7.0|^8.0" }, "conflict": { "illuminate/console": ">=10.17.0 <10.25.0", "laravel/framework": ">=10.17.0 <10.25.0" }, "require-dev": { - "illuminate/collections": "^10.0|^11.0|^12.0", + "illuminate/collections": "^10.0|^11.0|^12.0|^13.0", "mockery/mockery": "^1.5", "pestphp/pest": "^2.3|^3.4|^4.0", "phpstan/phpstan": "^1.12.28", @@ -3073,33 +2783,33 @@ "description": "Add beautiful and user-friendly forms to your command-line applications.", "support": { "issues": "https://github.com/laravel/prompts/issues", - "source": "https://github.com/laravel/prompts/tree/v0.3.8" + "source": "https://github.com/laravel/prompts/tree/v0.3.18" }, - "time": "2025-11-21T20:52:52+00:00" + "time": "2026-05-19T00:47:18+00:00" }, { "name": "laravel/serializable-closure", - "version": "v2.0.7", + "version": "v2.0.13", "source": { "type": "git", "url": "https://github.com/laravel/serializable-closure.git", - "reference": "cb291e4c998ac50637c7eeb58189c14f5de5b9dd" + "reference": "b566ee0dd251f3c4078bed003a7ce015f5ea6dce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/cb291e4c998ac50637c7eeb58189c14f5de5b9dd", - "reference": "cb291e4c998ac50637c7eeb58189c14f5de5b9dd", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/b566ee0dd251f3c4078bed003a7ce015f5ea6dce", + "reference": "b566ee0dd251f3c4078bed003a7ce015f5ea6dce", "shasum": "" }, "require": { "php": "^8.1" }, "require-dev": { - "illuminate/support": "^10.0|^11.0|^12.0", + "illuminate/support": "^10.0|^11.0|^12.0|^13.0", "nesbot/carbon": "^2.67|^3.0", "pestphp/pest": "^2.36|^3.0|^4.0", "phpstan/phpstan": "^2.0", - "symfony/var-dumper": "^6.2.0|^7.0.0" + "symfony/var-dumper": "^6.2.0|^7.0.0|^8.0.0" }, "type": "library", "extra": { @@ -3136,33 +2846,33 @@ "issues": "https://github.com/laravel/serializable-closure/issues", "source": "https://github.com/laravel/serializable-closure" }, - "time": "2025-11-21T20:52:36+00:00" + "time": "2026-04-16T14:03:50+00:00" }, { "name": "laravel/ui", - "version": "v4.6.1", + "version": "v4.6.3", "source": { "type": "git", "url": "https://github.com/laravel/ui.git", - "reference": "7d6ffa38d79f19c9b3e70a751a9af845e8f41d88" + "reference": "ff27db15416c1ed8ad9848f5692e47595dd5de27" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/ui/zipball/7d6ffa38d79f19c9b3e70a751a9af845e8f41d88", - "reference": "7d6ffa38d79f19c9b3e70a751a9af845e8f41d88", + "url": "https://api.github.com/repos/laravel/ui/zipball/ff27db15416c1ed8ad9848f5692e47595dd5de27", + "reference": "ff27db15416c1ed8ad9848f5692e47595dd5de27", "shasum": "" }, "require": { - "illuminate/console": "^9.21|^10.0|^11.0|^12.0", - "illuminate/filesystem": "^9.21|^10.0|^11.0|^12.0", - "illuminate/support": "^9.21|^10.0|^11.0|^12.0", - "illuminate/validation": "^9.21|^10.0|^11.0|^12.0", + "illuminate/console": "^9.21|^10.0|^11.0|^12.0|^13.0", + "illuminate/filesystem": "^9.21|^10.0|^11.0|^12.0|^13.0", + "illuminate/support": "^9.21|^10.0|^11.0|^12.0|^13.0", + "illuminate/validation": "^9.21|^10.0|^11.0|^12.0|^13.0", "php": "^8.0", - "symfony/console": "^6.0|^7.0" + "symfony/console": "^6.0|^7.0|^8.0" }, "require-dev": { - "orchestra/testbench": "^7.35|^8.15|^9.0|^10.0", - "phpunit/phpunit": "^9.3|^10.4|^11.5" + "orchestra/testbench": "^7.35|^8.15|^9.0|^10.0|^11.0", + "phpunit/phpunit": "^9.3|^10.4|^11.5|^12.5|^13.0" }, "type": "library", "extra": { @@ -3197,9 +2907,9 @@ "ui" ], "support": { - "source": "https://github.com/laravel/ui/tree/v4.6.1" + "source": "https://github.com/laravel/ui/tree/v4.6.3" }, - "time": "2025-01-28T15:15:29+00:00" + "time": "2026-03-17T13:41:52+00:00" }, { "name": "lcobucci/clock", @@ -3529,16 +3239,16 @@ }, { "name": "league/flysystem", - "version": "3.30.2", + "version": "3.34.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "5966a8ba23e62bdb518dd9e0e665c2dbd4b5b277" + "reference": "2daaac3b0d4c83ea7ed5d8586e786f5d00f3540e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/5966a8ba23e62bdb518dd9e0e665c2dbd4b5b277", - "reference": "5966a8ba23e62bdb518dd9e0e665c2dbd4b5b277", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/2daaac3b0d4c83ea7ed5d8586e786f5d00f3540e", + "reference": "2daaac3b0d4c83ea7ed5d8586e786f5d00f3540e", "shasum": "" }, "require": { @@ -3606,22 +3316,22 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/3.30.2" + "source": "https://github.com/thephpleague/flysystem/tree/3.34.0" }, - "time": "2025-11-10T17:13:11+00:00" + "time": "2026-05-14T10:28:08+00:00" }, { "name": "league/flysystem-local", - "version": "3.30.2", + "version": "3.31.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem-local.git", - "reference": "ab4f9d0d672f601b102936aa728801dd1a11968d" + "reference": "2f669db18a4c20c755c2bb7d3a7b0b2340488079" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/ab4f9d0d672f601b102936aa728801dd1a11968d", - "reference": "ab4f9d0d672f601b102936aa728801dd1a11968d", + "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/2f669db18a4c20c755c2bb7d3a7b0b2340488079", + "reference": "2f669db18a4c20c755c2bb7d3a7b0b2340488079", "shasum": "" }, "require": { @@ -3655,9 +3365,9 @@ "local" ], "support": { - "source": "https://github.com/thephpleague/flysystem-local/tree/3.30.2" + "source": "https://github.com/thephpleague/flysystem-local/tree/3.31.0" }, - "time": "2025-11-10T11:23:37+00:00" + "time": "2026-01-23T15:30:45+00:00" }, { "name": "league/fractal", @@ -3787,20 +3497,20 @@ }, { "name": "league/uri", - "version": "7.8.0", + "version": "7.8.1", "source": { "type": "git", "url": "https://github.com/thephpleague/uri.git", - "reference": "4436c6ec8d458e4244448b069cc572d088230b76" + "reference": "08cf38e3924d4f56238125547b5720496fac8fd4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/uri/zipball/4436c6ec8d458e4244448b069cc572d088230b76", - "reference": "4436c6ec8d458e4244448b069cc572d088230b76", + "url": "https://api.github.com/repos/thephpleague/uri/zipball/08cf38e3924d4f56238125547b5720496fac8fd4", + "reference": "08cf38e3924d4f56238125547b5720496fac8fd4", "shasum": "" }, "require": { - "league/uri-interfaces": "^7.8", + "league/uri-interfaces": "^7.8.1", "php": "^8.1", "psr/http-factory": "^1" }, @@ -3873,7 +3583,7 @@ "docs": "https://uri.thephpleague.com", "forum": "https://thephpleague.slack.com", "issues": "https://github.com/thephpleague/uri-src/issues", - "source": "https://github.com/thephpleague/uri/tree/7.8.0" + "source": "https://github.com/thephpleague/uri/tree/7.8.1" }, "funding": [ { @@ -3881,20 +3591,20 @@ "type": "github" } ], - "time": "2026-01-14T17:24:56+00:00" + "time": "2026-03-15T20:22:25+00:00" }, { "name": "league/uri-interfaces", - "version": "7.8.0", + "version": "7.8.1", "source": { "type": "git", "url": "https://github.com/thephpleague/uri-interfaces.git", - "reference": "c5c5cd056110fc8afaba29fa6b72a43ced42acd4" + "reference": "85d5c77c5d6d3af6c54db4a78246364908f3c928" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/c5c5cd056110fc8afaba29fa6b72a43ced42acd4", - "reference": "c5c5cd056110fc8afaba29fa6b72a43ced42acd4", + "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/85d5c77c5d6d3af6c54db4a78246364908f3c928", + "reference": "85d5c77c5d6d3af6c54db4a78246364908f3c928", "shasum": "" }, "require": { @@ -3957,7 +3667,7 @@ "docs": "https://uri.thephpleague.com", "forum": "https://thephpleague.slack.com", "issues": "https://github.com/thephpleague/uri-src/issues", - "source": "https://github.com/thephpleague/uri-interfaces/tree/7.8.0" + "source": "https://github.com/thephpleague/uri-interfaces/tree/7.8.1" }, "funding": [ { @@ -3965,40 +3675,40 @@ "type": "github" } ], - "time": "2026-01-15T06:54:53+00:00" + "time": "2026-03-08T20:05:35+00:00" }, { "name": "livewire/livewire", - "version": "v3.7.0", + "version": "v3.8.1", "source": { "type": "git", "url": "https://github.com/livewire/livewire.git", - "reference": "f5f9efe6d5a7059116bd695a89d95ceedf33f3cb" + "reference": "0a7c2ec6c5c958cab32870ce5a7836a2fca0b459" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/livewire/livewire/zipball/f5f9efe6d5a7059116bd695a89d95ceedf33f3cb", - "reference": "f5f9efe6d5a7059116bd695a89d95ceedf33f3cb", + "url": "https://api.github.com/repos/livewire/livewire/zipball/0a7c2ec6c5c958cab32870ce5a7836a2fca0b459", + "reference": "0a7c2ec6c5c958cab32870ce5a7836a2fca0b459", "shasum": "" }, "require": { - "illuminate/database": "^10.0|^11.0|^12.0", - "illuminate/routing": "^10.0|^11.0|^12.0", - "illuminate/support": "^10.0|^11.0|^12.0", - "illuminate/validation": "^10.0|^11.0|^12.0", + "illuminate/database": "^10.0|^11.0|^12.0|^13.0", + "illuminate/routing": "^10.0|^11.0|^12.0|^13.0", + "illuminate/support": "^10.0|^11.0|^12.0|^13.0", + "illuminate/validation": "^10.0|^11.0|^12.0|^13.0", "laravel/prompts": "^0.1.24|^0.2|^0.3", "league/mime-type-detection": "^1.9", "php": "^8.1", - "symfony/console": "^6.0|^7.0", - "symfony/http-kernel": "^6.2|^7.0" + "symfony/console": "^6.0|^7.0|^8.0", + "symfony/http-kernel": "^6.2|^7.0|^8.0" }, "require-dev": { "calebporzio/sushi": "^2.1", - "laravel/framework": "^10.15.0|^11.0|^12.0", + "laravel/framework": "^10.15.0|^11.0|^12.0|^13.0", "mockery/mockery": "^1.3.1", - "orchestra/testbench": "^8.21.0|^9.0|^10.0", - "orchestra/testbench-dusk": "^8.24|^9.1|^10.0", - "phpunit/phpunit": "^10.4|^11.5", + "orchestra/testbench": "^8.21.0|^9.0|^10.0|^11.0", + "orchestra/testbench-dusk": "^8.24|^9.1|^10.0|^11.0", + "phpunit/phpunit": "^10.4|^11.5|^12.5", "psy/psysh": "^0.11.22|^0.12" }, "type": "library", @@ -4033,7 +3743,7 @@ "description": "A front-end framework for Laravel.", "support": { "issues": "https://github.com/livewire/livewire/issues", - "source": "https://github.com/livewire/livewire/tree/v3.7.0" + "source": "https://github.com/livewire/livewire/tree/v3.8.1" }, "funding": [ { @@ -4041,33 +3751,33 @@ "type": "github" } ], - "time": "2025-11-12T17:58:16+00:00" + "time": "2026-06-02T08:18:44+00:00" }, { "name": "maatwebsite/excel", - "version": "3.1.67", + "version": "3.1.69", "source": { "type": "git", "url": "https://github.com/SpartnerNL/Laravel-Excel.git", - "reference": "e508e34a502a3acc3329b464dad257378a7edb4d" + "reference": "ae5d65b7c9a2fac43bff4d44f796ac95d7a8e760" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/SpartnerNL/Laravel-Excel/zipball/e508e34a502a3acc3329b464dad257378a7edb4d", - "reference": "e508e34a502a3acc3329b464dad257378a7edb4d", + "url": "https://api.github.com/repos/SpartnerNL/Laravel-Excel/zipball/ae5d65b7c9a2fac43bff4d44f796ac95d7a8e760", + "reference": "ae5d65b7c9a2fac43bff4d44f796ac95d7a8e760", "shasum": "" }, "require": { "composer/semver": "^3.3", "ext-json": "*", - "illuminate/support": "5.8.*||^6.0||^7.0||^8.0||^9.0||^10.0||^11.0||^12.0", + "illuminate/support": "5.8.*||^6.0||^7.0||^8.0||^9.0||^10.0||^11.0||^12.0||^13.0", "php": "^7.0||^8.0", - "phpoffice/phpspreadsheet": "^1.30.0", + "phpoffice/phpspreadsheet": "^1.30.4", "psr/simple-cache": "^1.0||^2.0||^3.0" }, "require-dev": { - "laravel/scout": "^7.0||^8.0||^9.0||^10.0", - "orchestra/testbench": "^6.0||^7.0||^8.0||^9.0||^10.0", + "laravel/scout": "^7.0||^8.0||^9.0||^10.0||^11.0", + "orchestra/testbench": "^6.0||^7.0||^8.0||^9.0||^10.0||^11.0", "predis/predis": "^1.1" }, "type": "library", @@ -4110,7 +3820,7 @@ ], "support": { "issues": "https://github.com/SpartnerNL/Laravel-Excel/issues", - "source": "https://github.com/SpartnerNL/Laravel-Excel/tree/3.1.67" + "source": "https://github.com/SpartnerNL/Laravel-Excel/tree/3.1.69" }, "funding": [ { @@ -4122,20 +3832,20 @@ "type": "github" } ], - "time": "2025-08-26T09:13:16+00:00" + "time": "2026-04-30T20:03:58+00:00" }, { "name": "maennchen/zipstream-php", - "version": "3.2.0", + "version": "3.2.2", "source": { "type": "git", "url": "https://github.com/maennchen/ZipStream-PHP.git", - "reference": "9712d8fa4cdf9240380b01eb4be55ad8dcf71416" + "reference": "77bebeb4c6c340bb3c11c843b2cffd8bbfde4d5e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/maennchen/ZipStream-PHP/zipball/9712d8fa4cdf9240380b01eb4be55ad8dcf71416", - "reference": "9712d8fa4cdf9240380b01eb4be55ad8dcf71416", + "url": "https://api.github.com/repos/maennchen/ZipStream-PHP/zipball/77bebeb4c6c340bb3c11c843b2cffd8bbfde4d5e", + "reference": "77bebeb4c6c340bb3c11c843b2cffd8bbfde4d5e", "shasum": "" }, "require": { @@ -4146,7 +3856,7 @@ "require-dev": { "brianium/paratest": "^7.7", "ext-zip": "*", - "friendsofphp/php-cs-fixer": "^3.16", + "friendsofphp/php-cs-fixer": "^3.86", "guzzlehttp/guzzle": "^7.5", "mikey179/vfsstream": "^1.6", "php-coveralls/php-coveralls": "^2.5", @@ -4192,7 +3902,7 @@ ], "support": { "issues": "https://github.com/maennchen/ZipStream-PHP/issues", - "source": "https://github.com/maennchen/ZipStream-PHP/tree/3.2.0" + "source": "https://github.com/maennchen/ZipStream-PHP/tree/3.2.2" }, "funding": [ { @@ -4200,7 +3910,7 @@ "type": "github" } ], - "time": "2025-07-17T11:15:13+00:00" + "time": "2026-04-11T18:38:28+00:00" }, { "name": "markbaker/complex", @@ -4311,26 +4021,26 @@ }, { "name": "mews/captcha", - "version": "3.4.7", + "version": "3.4.9", "source": { "type": "git", "url": "https://github.com/mewebstudio/captcha.git", - "reference": "2622c4f90dd621f19fe57e03e45f6f099509e839" + "reference": "c31cfe10ab04a5e8ad04b879215bdf61727ee72c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mewebstudio/captcha/zipball/2622c4f90dd621f19fe57e03e45f6f099509e839", - "reference": "2622c4f90dd621f19fe57e03e45f6f099509e839", + "url": "https://api.github.com/repos/mewebstudio/captcha/zipball/c31cfe10ab04a5e8ad04b879215bdf61727ee72c", + "reference": "c31cfe10ab04a5e8ad04b879215bdf61727ee72c", "shasum": "" }, "require": { "ext-gd": "*", - "illuminate/config": "~5|^6|^7|^8|^9|^10|^11|^12", - "illuminate/filesystem": "~5|^6|^7|^8|^9|^10|^11|^12", - "illuminate/hashing": "~5|^6|^7|^8|^9|^10|^11|^12", - "illuminate/session": "~5|^6|^7|^8|^9|^10|^11|^12", - "illuminate/support": "~5|^6|^7|^8|^9|^10|^11|^12", - "intervention/image": "^3.7", + "illuminate/config": "~5|^6|^7|^8|^9|^10|^11|^12|^13.0", + "illuminate/filesystem": "~5|^6|^7|^8|^9|^10|^11|^12|^13.0", + "illuminate/hashing": "~5|^6|^7|^8|^9|^10|^11|^12|^13.0", + "illuminate/session": "~5|^6|^7|^8|^9|^10|^11|^12|^13.0", + "illuminate/support": "~5|^6|^7|^8|^9|^10|^11|^12|^13.0", + "intervention/image": "^3.7|^4.0", "php": "^7.2|^8.1|^8.2|^8.3" }, "require-dev": { @@ -4378,22 +4088,22 @@ ], "support": { "issues": "https://github.com/mewebstudio/captcha/issues", - "source": "https://github.com/mewebstudio/captcha/tree/3.4.7" + "source": "https://github.com/mewebstudio/captcha/tree/3.4.9" }, - "time": "2025-10-11T14:42:33+00:00" + "time": "2026-05-16T15:39:06+00:00" }, { "name": "mobiledetect/mobiledetectlib", - "version": "2.8.45", + "version": "2.8.47", "source": { "type": "git", "url": "https://github.com/serbanghita/Mobile-Detect.git", - "reference": "96aaebcf4f50d3d2692ab81d2c5132e425bca266" + "reference": "28e9045958dcaf771f9b56564549d5b174e38b0e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/serbanghita/Mobile-Detect/zipball/96aaebcf4f50d3d2692ab81d2c5132e425bca266", - "reference": "96aaebcf4f50d3d2692ab81d2c5132e425bca266", + "url": "https://api.github.com/repos/serbanghita/Mobile-Detect/zipball/28e9045958dcaf771f9b56564549d5b174e38b0e", + "reference": "28e9045958dcaf771f9b56564549d5b174e38b0e", "shasum": "" }, "require": { @@ -4434,7 +4144,7 @@ ], "support": { "issues": "https://github.com/serbanghita/Mobile-Detect/issues", - "source": "https://github.com/serbanghita/Mobile-Detect/tree/2.8.45" + "source": "https://github.com/serbanghita/Mobile-Detect/tree/2.8.47" }, "funding": [ { @@ -4442,20 +4152,20 @@ "type": "github" } ], - "time": "2023-11-07T21:57:25+00:00" + "time": "2026-04-14T12:32:34+00:00" }, { "name": "monolog/monolog", - "version": "3.9.0", + "version": "3.10.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "10d85740180ecba7896c87e06a166e0c95a0e3b6" + "reference": "b321dd6749f0bf7189444158a3ce785cc16d69b0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/10d85740180ecba7896c87e06a166e0c95a0e3b6", - "reference": "10d85740180ecba7896c87e06a166e0c95a0e3b6", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/b321dd6749f0bf7189444158a3ce785cc16d69b0", + "reference": "b321dd6749f0bf7189444158a3ce785cc16d69b0", "shasum": "" }, "require": { @@ -4473,7 +4183,7 @@ "graylog2/gelf-php": "^1.4.2 || ^2.0", "guzzlehttp/guzzle": "^7.4.5", "guzzlehttp/psr7": "^2.2", - "mongodb/mongodb": "^1.8", + "mongodb/mongodb": "^1.8 || ^2.0", "php-amqplib/php-amqplib": "~2.4 || ^3", "php-console/php-console": "^3.1.8", "phpstan/phpstan": "^2", @@ -4533,7 +4243,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/3.9.0" + "source": "https://github.com/Seldaek/monolog/tree/3.10.0" }, "funding": [ { @@ -4545,7 +4255,7 @@ "type": "tidelift" } ], - "time": "2025-03-24T10:02:05+00:00" + "time": "2026-01-02T08:56:05+00:00" }, { "name": "mpociot/reflection-docblock", @@ -4602,16 +4312,16 @@ }, { "name": "nesbot/carbon", - "version": "3.10.3", + "version": "3.11.4", "source": { "type": "git", "url": "https://github.com/CarbonPHP/carbon.git", - "reference": "8e3643dcd149ae0fe1d2ff4f2c8e4bbfad7c165f" + "reference": "e890471a3494740f7d9326d72ce6a8c559ffee60" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/8e3643dcd149ae0fe1d2ff4f2c8e4bbfad7c165f", - "reference": "8e3643dcd149ae0fe1d2ff4f2c8e4bbfad7c165f", + "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/e890471a3494740f7d9326d72ce6a8c559ffee60", + "reference": "e890471a3494740f7d9326d72ce6a8c559ffee60", "shasum": "" }, "require": { @@ -4619,9 +4329,9 @@ "ext-json": "*", "php": "^8.1", "psr/clock": "^1.0", - "symfony/clock": "^6.3.12 || ^7.0", + "symfony/clock": "^6.3.12 || ^7.0 || ^8.0", "symfony/polyfill-mbstring": "^1.0", - "symfony/translation": "^4.4.18 || ^5.2.1 || ^6.0 || ^7.0" + "symfony/translation": "^4.4.18 || ^5.2.1 || ^6.0 || ^7.0 || ^8.0" }, "provide": { "psr/clock-implementation": "1.0" @@ -4635,7 +4345,7 @@ "phpstan/extension-installer": "^1.4.3", "phpstan/phpstan": "^2.1.22", "phpunit/phpunit": "^10.5.53", - "squizlabs/php_codesniffer": "^3.13.4" + "squizlabs/php_codesniffer": "^3.13.4 || ^4.0.0" }, "bin": [ "bin/carbon" @@ -4678,14 +4388,14 @@ } ], "description": "An API extension for DateTime that supports 281 different languages.", - "homepage": "https://carbon.nesbot.com", + "homepage": "https://carbonphp.github.io/carbon/", "keywords": [ "date", "datetime", "time" ], "support": { - "docs": "https://carbon.nesbot.com/docs", + "docs": "https://carbonphp.github.io/carbon/guide/getting-started/introduction.html", "issues": "https://github.com/CarbonPHP/carbon/issues", "source": "https://github.com/CarbonPHP/carbon" }, @@ -4703,7 +4413,7 @@ "type": "tidelift" } ], - "time": "2025-09-06T13:39:36+00:00" + "time": "2026-04-07T09:57:54+00:00" }, { "name": "nette/schema", @@ -4774,16 +4484,16 @@ }, { "name": "nette/utils", - "version": "v4.1.3", + "version": "v4.1.4", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "bb3ea637e3d131d72acc033cfc2746ee893349fe" + "reference": "7da6c396d7ebe142bc857c20479d5e70a5e1aac7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/bb3ea637e3d131d72acc033cfc2746ee893349fe", - "reference": "bb3ea637e3d131d72acc033cfc2746ee893349fe", + "url": "https://api.github.com/repos/nette/utils/zipball/7da6c396d7ebe142bc857c20479d5e70a5e1aac7", + "reference": "7da6c396d7ebe142bc857c20479d5e70a5e1aac7", "shasum": "" }, "require": { @@ -4859,9 +4569,9 @@ ], "support": { "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v4.1.3" + "source": "https://github.com/nette/utils/tree/v4.1.4" }, - "time": "2026-02-13T03:05:33+00:00" + "time": "2026-05-11T20:49:54+00:00" }, { "name": "nikic/php-parser", @@ -4923,39 +4633,36 @@ }, { "name": "nunomaduro/collision", - "version": "v8.8.3", + "version": "v8.9.4", "source": { "type": "git", "url": "https://github.com/nunomaduro/collision.git", - "reference": "1dc9e88d105699d0fee8bb18890f41b274f6b4c4" + "reference": "716af8f95a470e9094cfca09ed897b023be191a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/1dc9e88d105699d0fee8bb18890f41b274f6b4c4", - "reference": "1dc9e88d105699d0fee8bb18890f41b274f6b4c4", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/716af8f95a470e9094cfca09ed897b023be191a5", + "reference": "716af8f95a470e9094cfca09ed897b023be191a5", "shasum": "" }, "require": { - "filp/whoops": "^2.18.1", - "nunomaduro/termwind": "^2.3.1", + "filp/whoops": "^2.18.4", + "nunomaduro/termwind": "^2.4.0", "php": "^8.2.0", - "symfony/console": "^7.3.0" + "symfony/console": "^7.4.8 || ^8.0.8" }, "conflict": { - "laravel/framework": "<11.44.2 || >=13.0.0", - "phpunit/phpunit": "<11.5.15 || >=13.0.0" + "laravel/framework": "<11.48.0 || >=14.0.0", + "phpunit/phpunit": "<11.5.50 || >=14.0.0" }, "require-dev": { - "brianium/paratest": "^7.8.3", - "larastan/larastan": "^3.4.2", - "laravel/framework": "^11.44.2 || ^12.18", - "laravel/pint": "^1.22.1", - "laravel/sail": "^1.43.1", - "laravel/sanctum": "^4.1.1", - "laravel/tinker": "^2.10.1", - "orchestra/testbench-core": "^9.12.0 || ^10.4", - "pestphp/pest": "^3.8.2 || ^4.0.0", - "sebastian/environment": "^7.2.1 || ^8.0" + "brianium/paratest": "^7.8.5", + "larastan/larastan": "^3.9.6", + "laravel/framework": "^11.48.0 || ^12.56.0 || ^13.5.0", + "laravel/pint": "^1.29.1", + "orchestra/testbench-core": "^9.12.0 || ^10.12.1 || ^11.2.1", + "pestphp/pest": "^3.8.5 || ^4.4.3 || ^5.0.0", + "sebastian/environment": "^7.2.1 || ^8.0.4 || ^9.3.0" }, "type": "library", "extra": { @@ -5018,35 +4725,35 @@ "type": "patreon" } ], - "time": "2025-11-20T02:55:25+00:00" + "time": "2026-04-21T14:04:20+00:00" }, { "name": "nunomaduro/termwind", - "version": "v2.3.3", + "version": "v2.4.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/termwind.git", - "reference": "6fb2a640ff502caace8e05fd7be3b503a7e1c017" + "reference": "712a31b768f5daea284c2169a7d227031001b9a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/6fb2a640ff502caace8e05fd7be3b503a7e1c017", - "reference": "6fb2a640ff502caace8e05fd7be3b503a7e1c017", + "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/712a31b768f5daea284c2169a7d227031001b9a8", + "reference": "712a31b768f5daea284c2169a7d227031001b9a8", "shasum": "" }, "require": { "ext-mbstring": "*", "php": "^8.2", - "symfony/console": "^7.3.6" + "symfony/console": "^7.4.4 || ^8.0.4" }, "require-dev": { - "illuminate/console": "^11.46.1", - "laravel/pint": "^1.25.1", + "illuminate/console": "^11.47.0", + "laravel/pint": "^1.27.1", "mockery/mockery": "^1.6.12", - "pestphp/pest": "^2.36.0 || ^3.8.4 || ^4.1.3", + "pestphp/pest": "^2.36.0 || ^3.8.4 || ^4.3.2", "phpstan/phpstan": "^1.12.32", "phpstan/phpstan-strict-rules": "^1.6.2", - "symfony/var-dumper": "^7.3.5", + "symfony/var-dumper": "^7.3.5 || ^8.0.4", "thecodingmachine/phpstan-strict-rules": "^1.0.0" }, "type": "library", @@ -5078,7 +4785,7 @@ "email": "enunomaduro@gmail.com" } ], - "description": "Its like Tailwind CSS, but for the console.", + "description": "It's like Tailwind CSS, but for the console.", "keywords": [ "cli", "console", @@ -5089,7 +4796,7 @@ ], "support": { "issues": "https://github.com/nunomaduro/termwind/issues", - "source": "https://github.com/nunomaduro/termwind/tree/v2.3.3" + "source": "https://github.com/nunomaduro/termwind/tree/v2.4.0" }, "funding": [ { @@ -5105,7 +4812,7 @@ "type": "github" } ], - "time": "2025-11-20T02:34:59+00:00" + "time": "2026-02-16T23:10:27+00:00" }, { "name": "nyholm/psr7", @@ -5185,18 +4892,68 @@ ], "time": "2024-09-09T07:06:30+00:00" }, + { + "name": "parsedown/parsedown", + "version": "1.8.0", + "source": { + "type": "git", + "url": "https://github.com/parsedown/parsedown.git", + "reference": "96baaad00f71ba04d76e45b4620f54d3beabd6f7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/parsedown/parsedown/zipball/96baaad00f71ba04d76e45b4620f54d3beabd6f7", + "reference": "96baaad00f71ba04d76e45b4620f54d3beabd6f7", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": ">=7.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.5|^8.5|^9.6" + }, + "type": "library", + "autoload": { + "psr-0": { + "Parsedown": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Emanuil Rusev", + "email": "hello@erusev.com", + "homepage": "http://erusev.com" + } + ], + "description": "Parser for Markdown.", + "homepage": "http://parsedown.org", + "keywords": [ + "markdown", + "parser" + ], + "support": { + "issues": "https://github.com/parsedown/parsedown/issues", + "source": "https://github.com/parsedown/parsedown/tree/1.8.0" + }, + "time": "2026-02-16T11:41:01+00:00" + }, { "name": "phpoffice/phpspreadsheet", - "version": "1.30.4", + "version": "1.30.5", "source": { "type": "git", "url": "https://github.com/PHPOffice/PhpSpreadsheet.git", - "reference": "02970383cc12e7bf0bc0707ea6e2e8ed23a7aec9" + "reference": "97bcabd32a64924688487dcd64aceaf158affb5c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/02970383cc12e7bf0bc0707ea6e2e8ed23a7aec9", - "reference": "02970383cc12e7bf0bc0707ea6e2e8ed23a7aec9", + "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/97bcabd32a64924688487dcd64aceaf158affb5c", + "reference": "97bcabd32a64924688487dcd64aceaf158affb5c", "shasum": "" }, "require": { @@ -5289,22 +5046,22 @@ ], "support": { "issues": "https://github.com/PHPOffice/PhpSpreadsheet/issues", - "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/1.30.4" + "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/1.30.5" }, - "time": "2026-04-19T06:00:39+00:00" + "time": "2026-05-31T05:13:11+00:00" }, { "name": "phpoption/phpoption", - "version": "1.9.4", + "version": "1.9.5", "source": { "type": "git", "url": "https://github.com/schmittjoh/php-option.git", - "reference": "638a154f8d4ee6a5cfa96d6a34dfbe0cffa9566d" + "reference": "75365b91986c2405cf5e1e012c5595cd487a98be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/638a154f8d4ee6a5cfa96d6a34dfbe0cffa9566d", - "reference": "638a154f8d4ee6a5cfa96d6a34dfbe0cffa9566d", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/75365b91986c2405cf5e1e012c5595cd487a98be", + "reference": "75365b91986c2405cf5e1e012c5595cd487a98be", "shasum": "" }, "require": { @@ -5354,7 +5111,7 @@ ], "support": { "issues": "https://github.com/schmittjoh/php-option/issues", - "source": "https://github.com/schmittjoh/php-option/tree/1.9.4" + "source": "https://github.com/schmittjoh/php-option/tree/1.9.5" }, "funding": [ { @@ -5366,37 +5123,37 @@ "type": "tidelift" } ], - "time": "2025-08-21T11:53:16+00:00" + "time": "2025-12-27T19:41:33+00:00" }, { "name": "proengsoft/laravel-jsvalidation", - "version": "v4.10.2", + "version": "v4.10.3", "source": { "type": "git", "url": "https://github.com/proengsoft/laravel-jsvalidation.git", - "reference": "f947c0540fbd260eea8a7f834704fdadf45ea1d7" + "reference": "1697264c41f6731f4145b04cbb2e3e08fe747c78" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/proengsoft/laravel-jsvalidation/zipball/f947c0540fbd260eea8a7f834704fdadf45ea1d7", - "reference": "f947c0540fbd260eea8a7f834704fdadf45ea1d7", + "url": "https://api.github.com/repos/proengsoft/laravel-jsvalidation/zipball/1697264c41f6731f4145b04cbb2e3e08fe747c78", + "reference": "1697264c41f6731f4145b04cbb2e3e08fe747c78", "shasum": "" }, "require": { - "illuminate/config": "^10.0|^11.0|^12.0", - "illuminate/contracts": "^10.0|^11.0|^12.0", - "illuminate/http": "^10.0|^11.0|^12.0", - "illuminate/support": "^10.0|^11.0|^12.0", - "illuminate/translation": "^10.0|^11.0|^12.0", - "illuminate/validation": "^10.0|^11.0|^12.0", - "illuminate/view": "^10.0|^11.0|^12.0", - "php": "^8.1", - "symfony/http-foundation": "^6.0|^7.0" + "illuminate/config": "^11.0|^12.0|^13.0", + "illuminate/contracts": "^11.0|^12.0|^13.0", + "illuminate/http": "^11.0|^12.0|^13.0", + "illuminate/support": "^11.0|^12.0|^13.0", + "illuminate/translation": "^11.0|^12.0|^13.0", + "illuminate/validation": "^11.0|^12.0|^13.0", + "illuminate/view": "^11.0|^12.0|^13.0", + "php": "^8.2", + "symfony/http-foundation": "^7.0|^8.0" }, "require-dev": { "mockery/mockery": "^1.0", - "orchestra/testbench": "^8.0|^9.0|^10.0", - "phpunit/phpunit": "^9.5|^10.0|^11.5.3" + "orchestra/testbench": "^9.0|^11.0", + "phpunit/phpunit": "^11.5.3|^12.5.12" }, "type": "library", "extra": { @@ -5443,7 +5200,7 @@ ], "support": { "issues": "https://github.com/proengsoft/laravel-jsvalidation/issues", - "source": "https://github.com/proengsoft/laravel-jsvalidation/tree/v4.10.2" + "source": "https://github.com/proengsoft/laravel-jsvalidation/tree/v4.10.3" }, "funding": [ { @@ -5451,56 +5208,7 @@ "type": "github" } ], - "time": "2025-05-12T08:28:30+00:00" - }, - { - "name": "psr/cache", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", - "shasum": "" - }, - "require": { - "php": ">=8.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "support": { - "source": "https://github.com/php-fig/cache/tree/3.0.0" - }, - "time": "2021-02-03T23:26:27+00:00" + "time": "2026-03-17T15:14:42+00:00" }, { "name": "psr/clock", @@ -6036,20 +5744,20 @@ }, { "name": "ramsey/uuid", - "version": "4.9.1", + "version": "4.9.2", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", - "reference": "81f941f6f729b1e3ceea61d9d014f8b6c6800440" + "reference": "8429c78ca35a09f27565311b98101e2826affde0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/81f941f6f729b1e3ceea61d9d014f8b6c6800440", - "reference": "81f941f6f729b1e3ceea61d9d014f8b6c6800440", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/8429c78ca35a09f27565311b98101e2826affde0", + "reference": "8429c78ca35a09f27565311b98101e2826affde0", "shasum": "" }, "require": { - "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13 || ^0.14", + "brick/math": "^0.8.16 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13 || ^0.14", "php": "^8.0", "ramsey/collection": "^1.2 || ^2.0" }, @@ -6108,31 +5816,31 @@ ], "support": { "issues": "https://github.com/ramsey/uuid/issues", - "source": "https://github.com/ramsey/uuid/tree/4.9.1" + "source": "https://github.com/ramsey/uuid/tree/4.9.2" }, - "time": "2025-09-04T20:59:21+00:00" + "time": "2025-12-14T04:43:48+00:00" }, { "name": "rap2hpoutre/laravel-log-viewer", - "version": "v2.5.0", + "version": "v3.1.0", "source": { "type": "git", "url": "https://github.com/rap2hpoutre/laravel-log-viewer.git", - "reference": "ab85d5d88de728b99a9391a0c70e9b2f5743a589" + "reference": "a7a5d6301f1038c821820b352beb9766e52f238a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/rap2hpoutre/laravel-log-viewer/zipball/ab85d5d88de728b99a9391a0c70e9b2f5743a589", - "reference": "ab85d5d88de728b99a9391a0c70e9b2f5743a589", + "url": "https://api.github.com/repos/rap2hpoutre/laravel-log-viewer/zipball/a7a5d6301f1038c821820b352beb9766e52f238a", + "reference": "a7a5d6301f1038c821820b352beb9766e52f238a", "shasum": "" }, "require": { - "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", - "php": "^7.2|^8.0" + "illuminate/support": "^12.0|^13.0", + "php": "^8.2" }, "require-dev": { - "orchestra/testbench": "^4.0|^5.0|^6.0|^7.0|^8.0|^9.0|^10.0", - "phpunit/phpunit": "^7||^8.4|^9.3.3|^10.1|^11.0" + "orchestra/testbench": "^10.0|^11.0", + "phpunit/phpunit": "^11.0|^12.0|^13.0" }, "type": "laravel-package", "extra": { @@ -6171,22 +5879,22 @@ ], "support": { "issues": "https://github.com/rap2hpoutre/laravel-log-viewer/issues", - "source": "https://github.com/rap2hpoutre/laravel-log-viewer/tree/v2.5.0" + "source": "https://github.com/rap2hpoutre/laravel-log-viewer/tree/v3.1.0" }, - "time": "2025-03-10T15:35:06+00:00" + "time": "2026-05-12T11:39:08+00:00" }, { "name": "sentry/sentry", - "version": "4.19.0", + "version": "4.27.0", "source": { "type": "git", "url": "https://github.com/getsentry/sentry-php.git", - "reference": "1d29a07c8fb68ae9ad9bb8c3fecfaad3cbc23053" + "reference": "1f0544cff8443ac1d25d6521487118e28381a1c2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/1d29a07c8fb68ae9ad9bb8c3fecfaad3cbc23053", - "reference": "1d29a07c8fb68ae9ad9bb8c3fecfaad3cbc23053", + "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/1f0544cff8443ac1d25d6521487118e28381a1c2", + "reference": "1f0544cff8443ac1d25d6521487118e28381a1c2", "shasum": "" }, "require": { @@ -6203,16 +5911,23 @@ "raven/raven": "*" }, "require-dev": { + "carthage-software/mago": "^1.13.3", "friendsofphp/php-cs-fixer": "^3.4", "guzzlehttp/promises": "^2.0.3", "guzzlehttp/psr7": "^1.8.4|^2.1.1", "monolog/monolog": "^1.6|^2.0|^3.0", + "nyholm/psr7": "^1.8", + "open-telemetry/api": "^1.0", + "open-telemetry/exporter-otlp": "^1.0", + "open-telemetry/sdk": "^1.0", "phpbench/phpbench": "^1.0", "phpstan/phpstan": "^1.3", - "phpunit/phpunit": "^8.5|^9.6", - "vimeo/psalm": "^4.17" + "phpunit/phpunit": "^8.5.52|^9.6.34", + "spiral/roadrunner-http": "^3.6", + "spiral/roadrunner-worker": "^3.6" }, "suggest": { + "ext-excimer": "Enable Sentry profiling with the Excimer PHP extension.", "monolog/monolog": "Allow sending log messages to Sentry by using the included Monolog handler." }, "type": "library", @@ -6249,7 +5964,7 @@ ], "support": { "issues": "https://github.com/getsentry/sentry-php/issues", - "source": "https://github.com/getsentry/sentry-php/tree/4.19.0" + "source": "https://github.com/getsentry/sentry-php/tree/4.27.0" }, "funding": [ { @@ -6261,40 +5976,41 @@ "type": "custom" } ], - "time": "2025-11-27T14:53:55+00:00" + "time": "2026-05-06T14:32:16+00:00" }, { "name": "sentry/sentry-laravel", - "version": "4.19.0", + "version": "4.25.1", "source": { "type": "git", "url": "https://github.com/getsentry/sentry-laravel.git", - "reference": "7fdffd57e8fff0a6f9a18d9a83f32e960af63e3f" + "reference": "67efbdd74a752fcc1038676986b055a4df7d5084" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/7fdffd57e8fff0a6f9a18d9a83f32e960af63e3f", - "reference": "7fdffd57e8fff0a6f9a18d9a83f32e960af63e3f", + "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/67efbdd74a752fcc1038676986b055a4df7d5084", + "reference": "67efbdd74a752fcc1038676986b055a4df7d5084", "shasum": "" }, "require": { - "illuminate/support": "^6.0 | ^7.0 | ^8.0 | ^9.0 | ^10.0 | ^11.0 | ^12.0", + "illuminate/support": "^6.0 | ^7.0 | ^8.0 | ^9.0 | ^10.0 | ^11.0 | ^12.0 | ^13.0", "nyholm/psr7": "^1.0", "php": "^7.2 | ^8.0", - "sentry/sentry": "^4.18.0", - "symfony/psr-http-message-bridge": "^1.0 | ^2.0 | ^6.0 | ^7.0" + "sentry/sentry": "^4.23.0", + "symfony/psr-http-message-bridge": "^1.0 | ^2.0 | ^6.0 | ^7.0 | ^8.0" }, "require-dev": { "friendsofphp/php-cs-fixer": "^3.11", "guzzlehttp/guzzle": "^7.2", "laravel/folio": "^1.1", - "laravel/framework": "^6.0 | ^7.0 | ^8.0 | ^9.0 | ^10.0 | ^11.0 | ^12.0", + "laravel/framework": "^6.0 | ^7.0 | ^8.0 | ^9.0 | ^10.0 | ^11.0 | ^12.0 | ^13.0", + "laravel/octane": "^2.15", "laravel/pennant": "^1.0", - "livewire/livewire": "^2.0 | ^3.0", + "livewire/livewire": "^2.0 | ^3.0 | ^4.0", "mockery/mockery": "^1.3", - "orchestra/testbench": "^4.7 | ^5.1 | ^6.0 | ^7.0 | ^8.0 | ^9.0 | ^10.0", + "orchestra/testbench": "^4.7 | ^5.1 | ^6.0 | ^7.0 | ^8.0 | ^9.0 | ^10.0 | ^11.0", "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^8.4 | ^9.3 | ^10.4 | ^11.5" + "phpunit/phpunit": "^8.5 | ^9.6 | ^10.4 | ^11.5" }, "type": "library", "extra": { @@ -6339,7 +6055,7 @@ ], "support": { "issues": "https://github.com/getsentry/sentry-laravel/issues", - "source": "https://github.com/getsentry/sentry-laravel/tree/4.19.0" + "source": "https://github.com/getsentry/sentry-laravel/tree/4.25.1" }, "funding": [ { @@ -6351,54 +6067,7 @@ "type": "custom" } ], - "time": "2025-11-11T09:01:14+00:00" - }, - { - "name": "shalvah/clara", - "version": "3.3.0", - "source": { - "type": "git", - "url": "https://github.com/shalvah/clara.git", - "reference": "6b30f389d71bfdd3f6e09f9b9537205ac7e118de" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/shalvah/clara/zipball/6b30f389d71bfdd3f6e09f9b9537205ac7e118de", - "reference": "6b30f389d71bfdd3f6e09f9b9537205ac7e118de", - "shasum": "" - }, - "require": { - "php": ">=7.4", - "symfony/console": "^4.0|^5.0|^6.0|^7.0" - }, - "require-dev": { - "eloquent/phony-phpunit": "^7.0", - "phpunit/phpunit": "^9.1" - }, - "type": "library", - "autoload": { - "files": [ - "helpers.php" - ], - "psr-4": { - "Shalvah\\Clara\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "🔊 Simple, pretty, testable console output for CLI apps.", - "keywords": [ - "cli", - "log", - "logging" - ], - "support": { - "issues": "https://github.com/shalvah/clara/issues", - "source": "https://github.com/shalvah/clara/tree/3.3.0" - }, - "time": "2025-10-20T22:26:39+00:00" + "time": "2026-05-05T09:22:46+00:00" }, { "name": "shalvah/upgrader", @@ -6541,24 +6210,25 @@ }, { "name": "spatie/db-dumper", - "version": "3.8.1", + "version": "4.1.1", "source": { "type": "git", "url": "https://github.com/spatie/db-dumper.git", - "reference": "e974cc7862b8de1bd3b7ea7d4839ba7167acb546" + "reference": "f8f2785574de84aa4642a4df8b59a6dd578dd5d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/db-dumper/zipball/e974cc7862b8de1bd3b7ea7d4839ba7167acb546", - "reference": "e974cc7862b8de1bd3b7ea7d4839ba7167acb546", + "url": "https://api.github.com/repos/spatie/db-dumper/zipball/f8f2785574de84aa4642a4df8b59a6dd578dd5d3", + "reference": "f8f2785574de84aa4642a4df8b59a6dd578dd5d3", "shasum": "" }, "require": { - "php": "^8.0", - "symfony/process": "^5.0|^6.0|^7.0|^8.0" + "php": "^8.3", + "symfony/process": "^7.0|^8.0" }, "require-dev": { - "pestphp/pest": "^1.22" + "pestphp/pest": "^4.0", + "phpstan/phpstan": "^2.1" }, "type": "library", "autoload": { @@ -6588,7 +6258,7 @@ "spatie" ], "support": { - "source": "https://github.com/spatie/db-dumper/tree/3.8.1" + "source": "https://github.com/spatie/db-dumper/tree/4.1.1" }, "funding": [ { @@ -6600,20 +6270,20 @@ "type": "github" } ], - "time": "2025-11-26T09:51:23+00:00" + "time": "2026-05-04T11:43:33+00:00" }, { "name": "spatie/fractalistic", - "version": "2.11.0", + "version": "2.11.1", "source": { "type": "git", "url": "https://github.com/spatie/fractalistic.git", - "reference": "046c535f30b31a9356fc034ce75e8ee74614ed4f" + "reference": "85d6ff9a93f00d902e17924bb1475163b373c890" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/fractalistic/zipball/046c535f30b31a9356fc034ce75e8ee74614ed4f", - "reference": "046c535f30b31a9356fc034ce75e8ee74614ed4f", + "url": "https://api.github.com/repos/spatie/fractalistic/zipball/85d6ff9a93f00d902e17924bb1475163b373c890", + "reference": "85d6ff9a93f00d902e17924bb1475163b373c890", "shasum": "" }, "require": { @@ -6621,7 +6291,7 @@ "php": "^7.4|^8.0" }, "require-dev": { - "illuminate/pagination": "~5.3.0|~5.4.0|^9.0", + "illuminate/pagination": "~5.3.0|~5.4.0|^9.0|^13.0", "pestphp/pest": "^1.22", "phpunit/phpunit": "^9.0" }, @@ -6654,7 +6324,7 @@ ], "support": { "issues": "https://github.com/spatie/fractalistic/issues", - "source": "https://github.com/spatie/fractalistic/tree/2.11.0" + "source": "https://github.com/spatie/fractalistic/tree/2.11.1" }, "funding": [ { @@ -6662,52 +6332,52 @@ "type": "github" } ], - "time": "2025-01-27T09:52:33+00:00" + "time": "2026-02-21T21:10:25+00:00" }, { "name": "spatie/laravel-backup", - "version": "9.3.6", + "version": "10.2.2", "source": { "type": "git", "url": "https://github.com/spatie/laravel-backup.git", - "reference": "d378a07b580aa8bf440b50decdbab7b5d6f63c46" + "reference": "fd8ae12e6a8401dd4de6d3beb5f37d9a627064f3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-backup/zipball/d378a07b580aa8bf440b50decdbab7b5d6f63c46", - "reference": "d378a07b580aa8bf440b50decdbab7b5d6f63c46", + "url": "https://api.github.com/repos/spatie/laravel-backup/zipball/fd8ae12e6a8401dd4de6d3beb5f37d9a627064f3", + "reference": "fd8ae12e6a8401dd4de6d3beb5f37d9a627064f3", "shasum": "" }, "require": { "ext-zip": "^1.14.0", - "illuminate/console": "^10.10.0|^11.0|^12.0", - "illuminate/contracts": "^10.10.0|^11.0|^12.0", - "illuminate/events": "^10.10.0|^11.0|^12.0", - "illuminate/filesystem": "^10.10.0|^11.0|^12.0", - "illuminate/notifications": "^10.10.0|^11.0|^12.0", - "illuminate/support": "^10.10.0|^11.0|^12.0", - "league/flysystem": "^3.0", - "php": "^8.2", - "spatie/db-dumper": "^3.8", - "spatie/laravel-package-tools": "^1.6.2", - "spatie/laravel-signal-aware-command": "^1.2|^2.0", - "spatie/temporary-directory": "^2.0", - "symfony/console": "^6.0|^7.0", - "symfony/finder": "^6.0|^7.0" + "illuminate/console": "^12.40|^13.0", + "illuminate/contracts": "^12.40|^13.0", + "illuminate/events": "^12.40|^13.0", + "illuminate/filesystem": "^12.40|^13.0", + "illuminate/notifications": "^12.40|^13.0", + "illuminate/support": "^12.40|^13.0", + "league/flysystem": "^3.30.2", + "php": "^8.3", + "spatie/db-dumper": "^4.0", + "spatie/laravel-package-tools": "^1.92.7", + "spatie/laravel-signal-aware-command": "^2.1", + "spatie/temporary-directory": "^2.3", + "symfony/console": "^7.3.6|^8.0", + "symfony/finder": "^7.3.5|^8.0" }, "require-dev": { "composer-runtime-api": "^2.0", "ext-pcntl": "*", - "larastan/larastan": "^2.7.0|^3.0", - "laravel/slack-notification-channel": "^2.5|^3.0", - "league/flysystem-aws-s3-v3": "^2.0|^3.0", - "mockery/mockery": "^1.4", - "orchestra/testbench": "^8.0|^9.0|^10.0", - "pestphp/pest": "^1.20|^2.0|^3.0|^4.0", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-phpunit": "^1.1", - "rector/rector": "^1.1" + "larastan/larastan": "^3.8", + "laravel/slack-notification-channel": "^3.7", + "league/flysystem-aws-s3-v3": "^3.30.1", + "mockery/mockery": "^1.6.12", + "orchestra/testbench": "^10.8|^11.0", + "pestphp/pest": "^4.1.5", + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan-deprecation-rules": "^2.0.3", + "phpstan/phpstan-phpunit": "^2.0.8", + "rector/rector": "^2.2.8" }, "suggest": { "laravel/slack-notification-channel": "Required for sending notifications via Slack" @@ -6750,7 +6420,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-backup/issues", - "source": "https://github.com/spatie/laravel-backup/tree/9.3.6" + "source": "https://github.com/spatie/laravel-backup/tree/10.2.2" }, "funding": [ { @@ -6762,25 +6432,25 @@ "type": "other" } ], - "time": "2025-11-05T11:25:01+00:00" + "time": "2026-06-01T22:44:58+00:00" }, { "name": "spatie/laravel-fractal", - "version": "6.3.2", + "version": "6.4.0", "source": { "type": "git", "url": "https://github.com/spatie/laravel-fractal.git", - "reference": "d078aa670233100e1309a0a7096c42f5b605ef29" + "reference": "d34114259233540dcb405e45dff863164fb426c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-fractal/zipball/d078aa670233100e1309a0a7096c42f5b605ef29", - "reference": "d078aa670233100e1309a0a7096c42f5b605ef29", + "url": "https://api.github.com/repos/spatie/laravel-fractal/zipball/d34114259233540dcb405e45dff863164fb426c5", + "reference": "d34114259233540dcb405e45dff863164fb426c5", "shasum": "" }, "require": { - "illuminate/contracts": "^8.0|^9.0|^10.0|^11.0|^12.0", - "illuminate/support": "^8.0|^9.0|^10.0|^11.0|^12.0", + "illuminate/contracts": "^8.0|^9.0|^10.0|^11.0|^12.0|^13.0", + "illuminate/support": "^8.0|^9.0|^10.0|^11.0|^12.0|^13.0", "league/fractal": "^0.20.1|^0.20", "nesbot/carbon": "^2.63|^3.0", "php": "^8.0", @@ -6789,8 +6459,8 @@ }, "require-dev": { "ext-json": "*", - "orchestra/testbench": "^7.0|^8.0|^9.0|^10.0", - "pestphp/pest": "^1.22|^2.34|^3.0" + "orchestra/testbench": "^7.0|^8.0|^9.2|^10.0|^11.0", + "pestphp/pest": "^1.22|^2.34|^3.0|^4.0" }, "type": "library", "extra": { @@ -6835,7 +6505,7 @@ "transform" ], "support": { - "source": "https://github.com/spatie/laravel-fractal/tree/6.3.2" + "source": "https://github.com/spatie/laravel-fractal/tree/6.4.0" }, "funding": [ { @@ -6843,31 +6513,31 @@ "type": "custom" } ], - "time": "2025-02-14T10:43:50+00:00" + "time": "2026-02-21T15:58:07+00:00" }, { "name": "spatie/laravel-html", - "version": "3.12.1", + "version": "3.13.0", "source": { "type": "git", "url": "https://github.com/spatie/laravel-html.git", - "reference": "72af3cad24d153c230ff6e1da9fa3b7b702834c9" + "reference": "0579bf41959b4c4068206ec9bf1fcd1b59d8fa25" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-html/zipball/72af3cad24d153c230ff6e1da9fa3b7b702834c9", - "reference": "72af3cad24d153c230ff6e1da9fa3b7b702834c9", + "url": "https://api.github.com/repos/spatie/laravel-html/zipball/0579bf41959b4c4068206ec9bf1fcd1b59d8fa25", + "reference": "0579bf41959b4c4068206ec9bf1fcd1b59d8fa25", "shasum": "" }, "require": { - "illuminate/http": "^10.0|^11.0|^12.0", - "illuminate/support": "^10.0|^11.0|^12.0", + "illuminate/http": "^10.0|^11.0|^12.0|^13.0", + "illuminate/support": "^10.0|^11.0|^12.0|^13.0", "php": "^8.2" }, "require-dev": { "mockery/mockery": "^1.3", - "orchestra/testbench": "^8.0|^9.0|^10.0", - "pestphp/pest": "^2.34|^3.7" + "orchestra/testbench": "^8.0|^9.0|^10.0|^11.0", + "pestphp/pest": "^2.34|^3.7|^4.0" }, "type": "library", "extra": { @@ -6913,7 +6583,7 @@ "spatie" ], "support": { - "source": "https://github.com/spatie/laravel-html/tree/3.12.1" + "source": "https://github.com/spatie/laravel-html/tree/3.13.0" }, "funding": [ { @@ -6921,30 +6591,30 @@ "type": "custom" } ], - "time": "2025-10-02T07:26:38+00:00" + "time": "2026-02-22T09:05:56+00:00" }, { "name": "spatie/laravel-json-api-paginate", - "version": "1.16.3", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/spatie/laravel-json-api-paginate.git", - "reference": "2acf8b754e088285f1a29fdd5b2295769aee76f4" + "reference": "88ef7c81912c44204a27b618b60efc3a4db54b9b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-json-api-paginate/zipball/2acf8b754e088285f1a29fdd5b2295769aee76f4", - "reference": "2acf8b754e088285f1a29fdd5b2295769aee76f4", + "url": "https://api.github.com/repos/spatie/laravel-json-api-paginate/zipball/88ef7c81912c44204a27b618b60efc3a4db54b9b", + "reference": "88ef7c81912c44204a27b618b60efc3a4db54b9b", "shasum": "" }, "require": { - "illuminate/support": "^10.0|^11.0|^12.0", - "php": "^8.0" + "illuminate/support": "^10.0|^11.0|^12.0|^13.0", + "php": "^8.2" }, "require-dev": { - "orchestra/testbench": "^8.21.1|^9.0|^10.0", - "pestphp/pest": "^2.34|^3.7", - "phpunit/phpunit": "^9.0|^10.5.10|^11.5.3" + "orchestra/testbench": "^8.21.1|^9.0|^10.0|^11.0", + "pestphp/pest": "^2.0|^3.7|^4.0", + "phpunit/phpunit": "^9.0|^10.5.10|^11.5.3|^12.0" }, "type": "library", "extra": { @@ -6978,7 +6648,8 @@ "spatie" ], "support": { - "source": "https://github.com/spatie/laravel-json-api-paginate/tree/1.16.3" + "issues": "https://github.com/spatie/laravel-json-api-paginate/issues", + "source": "https://github.com/spatie/laravel-json-api-paginate/tree/2.0.1" }, "funding": [ { @@ -6986,33 +6657,33 @@ "type": "custom" } ], - "time": "2025-02-25T20:27:30+00:00" + "time": "2026-02-21T21:16:48+00:00" }, { "name": "spatie/laravel-package-tools", - "version": "1.92.7", + "version": "1.93.1", "source": { "type": "git", "url": "https://github.com/spatie/laravel-package-tools.git", - "reference": "f09a799850b1ed765103a4f0b4355006360c49a5" + "reference": "d5552849801f2642aea710557463234b59ef65eb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/f09a799850b1ed765103a4f0b4355006360c49a5", - "reference": "f09a799850b1ed765103a4f0b4355006360c49a5", + "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/d5552849801f2642aea710557463234b59ef65eb", + "reference": "d5552849801f2642aea710557463234b59ef65eb", "shasum": "" }, "require": { - "illuminate/contracts": "^9.28|^10.0|^11.0|^12.0", - "php": "^8.0" + "illuminate/contracts": "^10.0|^11.0|^12.0|^13.0", + "php": "^8.1" }, "require-dev": { "mockery/mockery": "^1.5", - "orchestra/testbench": "^7.7|^8.0|^9.0|^10.0", - "pestphp/pest": "^1.23|^2.1|^3.1", - "phpunit/php-code-coverage": "^9.0|^10.0|^11.0", - "phpunit/phpunit": "^9.5.24|^10.5|^11.5", - "spatie/pest-plugin-test-time": "^1.1|^2.2" + "orchestra/testbench": "^8.0|^9.2|^10.0|^11.0", + "pestphp/pest": "^2.1|^3.1|^4.0", + "phpunit/php-code-coverage": "^10.0|^11.0|^12.0", + "phpunit/phpunit": "^10.5|^11.5|^12.5", + "spatie/pest-plugin-test-time": "^2.2|^3.0" }, "type": "library", "autoload": { @@ -7039,7 +6710,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-package-tools/issues", - "source": "https://github.com/spatie/laravel-package-tools/tree/1.92.7" + "source": "https://github.com/spatie/laravel-package-tools/tree/1.93.1" }, "funding": [ { @@ -7047,34 +6718,35 @@ "type": "github" } ], - "time": "2025-07-17T15:46:43+00:00" + "time": "2026-05-19T14:06:37+00:00" }, { "name": "spatie/laravel-permission", - "version": "6.23.0", + "version": "6.25.0", "source": { "type": "git", "url": "https://github.com/spatie/laravel-permission.git", - "reference": "9e41247bd512b1e6c229afbc1eb528f7565ae3bb" + "reference": "d7d4cb0d58616722f1afc90e0484e4825155b9b3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-permission/zipball/9e41247bd512b1e6c229afbc1eb528f7565ae3bb", - "reference": "9e41247bd512b1e6c229afbc1eb528f7565ae3bb", + "url": "https://api.github.com/repos/spatie/laravel-permission/zipball/d7d4cb0d58616722f1afc90e0484e4825155b9b3", + "reference": "d7d4cb0d58616722f1afc90e0484e4825155b9b3", "shasum": "" }, "require": { - "illuminate/auth": "^8.12|^9.0|^10.0|^11.0|^12.0", - "illuminate/container": "^8.12|^9.0|^10.0|^11.0|^12.0", - "illuminate/contracts": "^8.12|^9.0|^10.0|^11.0|^12.0", - "illuminate/database": "^8.12|^9.0|^10.0|^11.0|^12.0", + "illuminate/auth": "^8.12|^9.0|^10.0|^11.0|^12.0|^13.0", + "illuminate/container": "^8.12|^9.0|^10.0|^11.0|^12.0|^13.0", + "illuminate/contracts": "^8.12|^9.0|^10.0|^11.0|^12.0|^13.0", + "illuminate/database": "^8.12|^9.0|^10.0|^11.0|^12.0|^13.0", "php": "^8.0" }, "require-dev": { - "laravel/passport": "^11.0|^12.0", + "laravel/passport": "^11.0|^12.0|^13.0", "laravel/pint": "^1.0", - "orchestra/testbench": "^6.23|^7.0|^8.0|^9.0|^10.0", - "phpunit/phpunit": "^9.4|^10.1|^11.5" + "orchestra/testbench": "^6.23|^7.0|^8.0|^9.0|^10.0|^11.0", + "pestphp/pest": "^2.0|^3.0|^4.0", + "pestphp/pest-plugin-laravel": "^2.0|^3.0|^4.0" }, "type": "library", "extra": { @@ -7122,7 +6794,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-permission/issues", - "source": "https://github.com/spatie/laravel-permission/tree/6.23.0" + "source": "https://github.com/spatie/laravel-permission/tree/6.25.0" }, "funding": [ { @@ -7130,36 +6802,36 @@ "type": "github" } ], - "time": "2025-11-03T20:16:13+00:00" + "time": "2026-03-17T22:46:46+00:00" }, { "name": "spatie/laravel-query-builder", - "version": "6.3.6", + "version": "7.3.0", "source": { "type": "git", "url": "https://github.com/spatie/laravel-query-builder.git", - "reference": "b9a5af31c79ae8fb79ae0aa8ba2b9e7180f39481" + "reference": "3554c005f778d9da89d44b9895d2cca149110fea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-query-builder/zipball/b9a5af31c79ae8fb79ae0aa8ba2b9e7180f39481", - "reference": "b9a5af31c79ae8fb79ae0aa8ba2b9e7180f39481", + "url": "https://api.github.com/repos/spatie/laravel-query-builder/zipball/3554c005f778d9da89d44b9895d2cca149110fea", + "reference": "3554c005f778d9da89d44b9895d2cca149110fea", "shasum": "" }, "require": { - "illuminate/database": "^10.0|^11.0|^12.0", - "illuminate/http": "^10.0|^11.0|^12.0", - "illuminate/support": "^10.0|^11.0|^12.0", - "php": "^8.2", + "illuminate/database": "^12.0|^13.0", + "illuminate/http": "^12.0|^13.0", + "illuminate/support": "^12.0|^13.0", + "php": "^8.3", "spatie/laravel-package-tools": "^1.11" }, "require-dev": { "ext-json": "*", - "larastan/larastan": "^2.7 || ^3.3", + "larastan/larastan": "^3.3", "mockery/mockery": "^1.4", - "orchestra/testbench": "^7.0|^8.0|^10.0", - "pestphp/pest": "^2.0|^3.7|^4.0", - "phpunit/phpunit": "^10.0|^11.5.3|^12.0", + "orchestra/testbench": "^10.0|^11.0", + "pestphp/pest": "^4.0", + "phpunit/phpunit": "^12.0", "spatie/invade": "^2.0" }, "type": "library", @@ -7204,24 +6876,24 @@ "type": "custom" } ], - "time": "2025-10-20T09:50:21+00:00" + "time": "2026-05-02T11:22:31+00:00" }, { "name": "spatie/laravel-signal-aware-command", - "version": "2.1.1", + "version": "2.1.2", "source": { "type": "git", "url": "https://github.com/spatie/laravel-signal-aware-command.git", - "reference": "70207ba2702a9ee8f523af0cd4711d1104c5ca53" + "reference": "54dcc1efd152bfb3eb0faf56a5fc28569b864b5d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-signal-aware-command/zipball/70207ba2702a9ee8f523af0cd4711d1104c5ca53", - "reference": "70207ba2702a9ee8f523af0cd4711d1104c5ca53", + "url": "https://api.github.com/repos/spatie/laravel-signal-aware-command/zipball/54dcc1efd152bfb3eb0faf56a5fc28569b864b5d", + "reference": "54dcc1efd152bfb3eb0faf56a5fc28569b864b5d", "shasum": "" }, "require": { - "illuminate/contracts": "^11.0|^12.0", + "illuminate/contracts": "^11.0|^12.0|^13.0", "php": "^8.2", "spatie/laravel-package-tools": "^1.4.3", "symfony/console": "^7.0|^8.0" @@ -7271,7 +6943,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-signal-aware-command/issues", - "source": "https://github.com/spatie/laravel-signal-aware-command/tree/2.1.1" + "source": "https://github.com/spatie/laravel-signal-aware-command/tree/2.1.2" }, "funding": [ { @@ -7279,20 +6951,20 @@ "type": "github" } ], - "time": "2025-11-27T09:17:52+00:00" + "time": "2026-02-22T08:16:31+00:00" }, { "name": "spatie/temporary-directory", - "version": "2.3.0", + "version": "2.3.1", "source": { "type": "git", "url": "https://github.com/spatie/temporary-directory.git", - "reference": "580eddfe9a0a41a902cac6eeb8f066b42e65a32b" + "reference": "662e481d6ec07ef29fd05010433428851a42cd07" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/temporary-directory/zipball/580eddfe9a0a41a902cac6eeb8f066b42e65a32b", - "reference": "580eddfe9a0a41a902cac6eeb8f066b42e65a32b", + "url": "https://api.github.com/repos/spatie/temporary-directory/zipball/662e481d6ec07ef29fd05010433428851a42cd07", + "reference": "662e481d6ec07ef29fd05010433428851a42cd07", "shasum": "" }, "require": { @@ -7328,7 +7000,7 @@ ], "support": { "issues": "https://github.com/spatie/temporary-directory/issues", - "source": "https://github.com/spatie/temporary-directory/tree/2.3.0" + "source": "https://github.com/spatie/temporary-directory/tree/2.3.1" }, "funding": [ { @@ -7340,7 +7012,7 @@ "type": "github" } ], - "time": "2025-01-13T13:04:43+00:00" + "time": "2026-01-12T07:42:22+00:00" }, { "name": "stella-maris/clock", @@ -7391,27 +7063,27 @@ }, { "name": "stevebauman/purify", - "version": "v6.3.1", + "version": "v6.3.2", "source": { "type": "git", "url": "https://github.com/stevebauman/purify.git", - "reference": "3acb5e77904f420ce8aad8fa1c7f394e82daa500" + "reference": "deba4aa55a45a7593c369b52d481c87b545a5bf8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/stevebauman/purify/zipball/3acb5e77904f420ce8aad8fa1c7f394e82daa500", - "reference": "3acb5e77904f420ce8aad8fa1c7f394e82daa500", + "url": "https://api.github.com/repos/stevebauman/purify/zipball/deba4aa55a45a7593c369b52d481c87b545a5bf8", + "reference": "deba4aa55a45a7593c369b52d481c87b545a5bf8", "shasum": "" }, "require": { "ezyang/htmlpurifier": "^4.17", - "illuminate/contracts": "^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", - "illuminate/support": "^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", + "illuminate/contracts": "^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0", + "illuminate/support": "^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0", "php": ">=7.4" }, "require-dev": { - "orchestra/testbench": "^5.0|^6.0|^7.0|^8.0|^9.0|^10.0", - "phpunit/phpunit": "^8.0|^9.0|^10.0|^11.5.3" + "orchestra/testbench": "^5.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", + "phpunit/phpunit": "^8.0|^9.0|^10.0|^11.5.3|^12.5.12" }, "type": "library", "extra": { @@ -7451,28 +7123,27 @@ ], "support": { "issues": "https://github.com/stevebauman/purify/issues", - "source": "https://github.com/stevebauman/purify/tree/v6.3.1" + "source": "https://github.com/stevebauman/purify/tree/v6.3.2" }, - "time": "2025-05-21T16:53:09+00:00" + "time": "2026-03-18T16:42:42+00:00" }, { "name": "symfony/clock", - "version": "v7.4.0", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/clock.git", - "reference": "9169f24776edde469914c1e7a1442a50f7a4e110" + "reference": "b55a638b189a6faa875e0ccdb00908fb87af95b3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/clock/zipball/9169f24776edde469914c1e7a1442a50f7a4e110", - "reference": "9169f24776edde469914c1e7a1442a50f7a4e110", + "url": "https://api.github.com/repos/symfony/clock/zipball/b55a638b189a6faa875e0ccdb00908fb87af95b3", + "reference": "b55a638b189a6faa875e0ccdb00908fb87af95b3", "shasum": "" }, "require": { - "php": ">=8.2", - "psr/clock": "^1.0", - "symfony/polyfill-php83": "^1.28" + "php": ">=8.4", + "psr/clock": "^1.0" }, "provide": { "psr/clock-implementation": "1.0" @@ -7511,7 +7182,7 @@ "time" ], "support": { - "source": "https://github.com/symfony/clock/tree/v7.4.0" + "source": "https://github.com/symfony/clock/tree/v8.0.8" }, "funding": [ { @@ -7531,51 +7202,43 @@ "type": "tidelift" } ], - "time": "2025-11-12T15:39:26+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/console", - "version": "v7.4.4", + "version": "v8.0.13", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "41e38717ac1dd7a46b6bda7d6a82af2d98a78894" + "reference": "f200be111431cff4aeae8d086b91180bc4d7efd7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/41e38717ac1dd7a46b6bda7d6a82af2d98a78894", - "reference": "41e38717ac1dd7a46b6bda7d6a82af2d98a78894", + "url": "https://api.github.com/repos/symfony/console/zipball/f200be111431cff4aeae8d086b91180bc4d7efd7", + "reference": "f200be111431cff4aeae8d086b91180bc4d7efd7", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-mbstring": "~1.0", + "php": ">=8.4", + "symfony/polyfill-mbstring": "^1.0", "symfony/service-contracts": "^2.5|^3", - "symfony/string": "^7.2|^8.0" - }, - "conflict": { - "symfony/dependency-injection": "<6.4", - "symfony/dotenv": "<6.4", - "symfony/event-dispatcher": "<6.4", - "symfony/lock": "<6.4", - "symfony/process": "<6.4" + "symfony/string": "^7.4|^8.0" }, "provide": { "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^6.4|^7.0|^8.0", - "symfony/dependency-injection": "^6.4|^7.0|^8.0", - "symfony/event-dispatcher": "^6.4|^7.0|^8.0", - "symfony/http-foundation": "^6.4|^7.0|^8.0", - "symfony/http-kernel": "^6.4|^7.0|^8.0", - "symfony/lock": "^6.4|^7.0|^8.0", - "symfony/messenger": "^6.4|^7.0|^8.0", - "symfony/process": "^6.4|^7.0|^8.0", - "symfony/stopwatch": "^6.4|^7.0|^8.0", - "symfony/var-dumper": "^6.4|^7.0|^8.0" + "symfony/config": "^7.4|^8.0", + "symfony/dependency-injection": "^7.4|^8.0", + "symfony/event-dispatcher": "^7.4|^8.0", + "symfony/http-foundation": "^7.4|^8.0", + "symfony/http-kernel": "^7.4|^8.0", + "symfony/lock": "^7.4|^8.0", + "symfony/messenger": "^7.4|^8.0", + "symfony/process": "^7.4|^8.0", + "symfony/stopwatch": "^7.4|^8.0", + "symfony/var-dumper": "^7.4|^8.0" }, "type": "library", "autoload": { @@ -7609,7 +7272,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v7.4.4" + "source": "https://github.com/symfony/console/tree/v8.0.13" }, "funding": [ { @@ -7629,24 +7292,24 @@ "type": "tidelift" } ], - "time": "2026-01-13T11:36:38+00:00" + "time": "2026-05-24T08:59:15+00:00" }, { "name": "symfony/css-selector", - "version": "v7.4.0", + "version": "v8.0.9", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "ab862f478513e7ca2fe9ec117a6f01a8da6e1135" + "reference": "3665cfade90565430909b906394c73c8739e57d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/ab862f478513e7ca2fe9ec117a6f01a8da6e1135", - "reference": "ab862f478513e7ca2fe9ec117a6f01a8da6e1135", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/3665cfade90565430909b906394c73c8739e57d0", + "reference": "3665cfade90565430909b906394c73c8739e57d0", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.4" }, "type": "library", "autoload": { @@ -7678,7 +7341,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v7.4.0" + "source": "https://github.com/symfony/css-selector/tree/v8.0.9" }, "funding": [ { @@ -7698,20 +7361,20 @@ "type": "tidelift" } ], - "time": "2025-10-30T13:39:42+00:00" + "time": "2026-04-18T13:51:42+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v3.6.0", + "version": "v3.7.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" + "reference": "50f59d1f3ca46d41ac911f97a78626b6756af35b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", - "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/50f59d1f3ca46d41ac911f97a78626b6756af35b", + "reference": "50f59d1f3ca46d41ac911f97a78626b6756af35b", "shasum": "" }, "require": { @@ -7724,7 +7387,7 @@ "name": "symfony/contracts" }, "branch-alias": { - "dev-main": "3.6-dev" + "dev-main": "3.7-dev" } }, "autoload": { @@ -7749,7 +7412,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.7.0" }, "funding": [ { @@ -7760,42 +7423,45 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-09-25T14:21:43+00:00" + "time": "2026-04-13T15:52:40+00:00" }, { "name": "symfony/error-handler", - "version": "v7.4.0", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "48be2b0653594eea32dcef130cca1c811dcf25c2" + "reference": "c1119fe8dcfc3825ec74ec061b96ef0c8f281517" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/48be2b0653594eea32dcef130cca1c811dcf25c2", - "reference": "48be2b0653594eea32dcef130cca1c811dcf25c2", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/c1119fe8dcfc3825ec74ec061b96ef0c8f281517", + "reference": "c1119fe8dcfc3825ec74ec061b96ef0c8f281517", "shasum": "" }, "require": { - "php": ">=8.2", + "php": ">=8.4", "psr/log": "^1|^2|^3", "symfony/polyfill-php85": "^1.32", - "symfony/var-dumper": "^6.4|^7.0|^8.0" + "symfony/var-dumper": "^7.4|^8.0" }, "conflict": { - "symfony/deprecation-contracts": "<2.5", - "symfony/http-kernel": "<6.4" + "symfony/deprecation-contracts": "<2.5" }, "require-dev": { - "symfony/console": "^6.4|^7.0|^8.0", + "symfony/console": "^7.4|^8.0", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/http-kernel": "^6.4|^7.0|^8.0", - "symfony/serializer": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^7.4|^8.0", + "symfony/serializer": "^7.4|^8.0", "symfony/webpack-encore-bundle": "^1.0|^2.0" }, "bin": [ @@ -7827,7 +7493,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v7.4.0" + "source": "https://github.com/symfony/error-handler/tree/v8.0.8" }, "funding": [ { @@ -7847,28 +7513,28 @@ "type": "tidelift" } ], - "time": "2025-11-05T14:29:59+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v7.4.0", + "version": "v8.0.9", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "9dddcddff1ef974ad87b3708e4b442dc38b2261d" + "reference": "0c3c1a17604c4dbbec4b93fe162c538482096e1f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9dddcddff1ef974ad87b3708e4b442dc38b2261d", - "reference": "9dddcddff1ef974ad87b3708e4b442dc38b2261d", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/0c3c1a17604c4dbbec4b93fe162c538482096e1f", + "reference": "0c3c1a17604c4dbbec4b93fe162c538482096e1f", "shasum": "" }, "require": { - "php": ">=8.2", + "php": ">=8.4", "symfony/event-dispatcher-contracts": "^2.5|^3" }, "conflict": { - "symfony/dependency-injection": "<6.4", + "symfony/security-http": "<7.4", "symfony/service-contracts": "<2.5" }, "provide": { @@ -7877,14 +7543,14 @@ }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^6.4|^7.0|^8.0", - "symfony/dependency-injection": "^6.4|^7.0|^8.0", - "symfony/error-handler": "^6.4|^7.0|^8.0", - "symfony/expression-language": "^6.4|^7.0|^8.0", - "symfony/framework-bundle": "^6.4|^7.0|^8.0", - "symfony/http-foundation": "^6.4|^7.0|^8.0", + "symfony/config": "^7.4|^8.0", + "symfony/dependency-injection": "^7.4|^8.0", + "symfony/error-handler": "^7.4|^8.0", + "symfony/expression-language": "^7.4|^8.0", + "symfony/framework-bundle": "^7.4|^8.0", + "symfony/http-foundation": "^7.4|^8.0", "symfony/service-contracts": "^2.5|^3", - "symfony/stopwatch": "^6.4|^7.0|^8.0" + "symfony/stopwatch": "^7.4|^8.0" }, "type": "library", "autoload": { @@ -7912,7 +7578,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v7.4.0" + "source": "https://github.com/symfony/event-dispatcher/tree/v8.0.9" }, "funding": [ { @@ -7932,20 +7598,20 @@ "type": "tidelift" } ], - "time": "2025-10-28T09:38:46+00:00" + "time": "2026-04-18T13:51:42+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v3.6.0", + "version": "v3.7.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "59eb412e93815df44f05f342958efa9f46b1e586" + "reference": "ccba7060602b7fed0b03c85bf025257f76d9ef32" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/59eb412e93815df44f05f342958efa9f46b1e586", - "reference": "59eb412e93815df44f05f342958efa9f46b1e586", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/ccba7060602b7fed0b03c85bf025257f76d9ef32", + "reference": "ccba7060602b7fed0b03c85bf025257f76d9ef32", "shasum": "" }, "require": { @@ -7959,7 +7625,7 @@ "name": "symfony/contracts" }, "branch-alias": { - "dev-main": "3.6-dev" + "dev-main": "3.7-dev" } }, "autoload": { @@ -7992,7 +7658,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.6.0" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.7.0" }, "funding": [ { @@ -8003,32 +7669,36 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-09-25T14:21:43+00:00" + "time": "2026-01-05T13:30:16+00:00" }, { "name": "symfony/finder", - "version": "v7.4.5", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "ad4daa7c38668dcb031e63bc99ea9bd42196a2cb" + "reference": "8da41214757b87d97f181e3d14a4179286151007" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/ad4daa7c38668dcb031e63bc99ea9bd42196a2cb", - "reference": "ad4daa7c38668dcb031e63bc99ea9bd42196a2cb", + "url": "https://api.github.com/repos/symfony/finder/zipball/8da41214757b87d97f181e3d14a4179286151007", + "reference": "8da41214757b87d97f181e3d14a4179286151007", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.4" }, "require-dev": { - "symfony/filesystem": "^6.4|^7.0|^8.0" + "symfony/filesystem": "^7.4|^8.0" }, "type": "library", "autoload": { @@ -8056,7 +7726,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v7.4.5" + "source": "https://github.com/symfony/finder/tree/v8.0.8" }, "funding": [ { @@ -8076,41 +7746,39 @@ "type": "tidelift" } ], - "time": "2026-01-26T15:07:59+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/http-foundation", - "version": "v7.4.13", + "version": "v8.0.13", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "bc354f47c62301e990b7874fa662326368508e2c" + "reference": "30459bd82094c2572f3f78c04132e92f257a5f76" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/bc354f47c62301e990b7874fa662326368508e2c", - "reference": "bc354f47c62301e990b7874fa662326368508e2c", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/30459bd82094c2572f3f78c04132e92f257a5f76", + "reference": "30459bd82094c2572f3f78c04132e92f257a5f76", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3", + "php": ">=8.4", "symfony/polyfill-mbstring": "^1.1" }, "conflict": { - "doctrine/dbal": "<3.6", - "symfony/cache": "<6.4.12|>=7.0,<7.1.5" + "doctrine/dbal": "<4.3" }, "require-dev": { - "doctrine/dbal": "^3.6|^4", + "doctrine/dbal": "^4.3", "predis/predis": "^1.1|^2.0", - "symfony/cache": "^6.4.12|^7.1.5|^8.0", - "symfony/clock": "^6.4|^7.0|^8.0", - "symfony/dependency-injection": "^6.4|^7.0|^8.0", - "symfony/expression-language": "^6.4|^7.0|^8.0", - "symfony/http-kernel": "^6.4|^7.0|^8.0", - "symfony/mime": "^6.4|^7.0|^8.0", - "symfony/rate-limiter": "^6.4|^7.0|^8.0" + "symfony/cache": "^7.4|^8.0", + "symfony/clock": "^7.4|^8.0", + "symfony/dependency-injection": "^7.4|^8.0", + "symfony/expression-language": "^7.4|^8.0", + "symfony/http-kernel": "^7.4|^8.0", + "symfony/mime": "^7.4|^8.0", + "symfony/rate-limiter": "^7.4|^8.0" }, "type": "library", "autoload": { @@ -8138,7 +7806,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v7.4.13" + "source": "https://github.com/symfony/http-foundation/tree/v8.0.13" }, "funding": [ { @@ -8158,78 +7826,63 @@ "type": "tidelift" } ], - "time": "2026-05-24T11:20:33+00:00" + "time": "2026-05-24T11:21:57+00:00" }, { "name": "symfony/http-kernel", - "version": "v7.4.13", + "version": "v8.0.13", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "9df847980c436451f4f51d1284491bb4356dd989" + "reference": "0f2b114380b21d8736a496ab4672b012e3822ee7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/9df847980c436451f4f51d1284491bb4356dd989", - "reference": "9df847980c436451f4f51d1284491bb4356dd989", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/0f2b114380b21d8736a496ab4672b012e3822ee7", + "reference": "0f2b114380b21d8736a496ab4672b012e3822ee7", "shasum": "" }, "require": { - "php": ">=8.2", + "php": ">=8.4", "psr/log": "^1|^2|^3", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/error-handler": "^6.4|^7.0|^8.0", - "symfony/event-dispatcher": "^7.3|^8.0", + "symfony/error-handler": "^7.4|^8.0", + "symfony/event-dispatcher": "^7.4|^8.0", "symfony/http-foundation": "^7.4|^8.0", "symfony/polyfill-ctype": "^1.8" }, "conflict": { - "symfony/browser-kit": "<6.4", - "symfony/cache": "<6.4", - "symfony/config": "<6.4", - "symfony/console": "<6.4", - "symfony/dependency-injection": "<6.4", - "symfony/doctrine-bridge": "<6.4", "symfony/flex": "<2.10", - "symfony/form": "<6.4", - "symfony/http-client": "<6.4", "symfony/http-client-contracts": "<2.5", - "symfony/mailer": "<6.4", - "symfony/messenger": "<6.4", - "symfony/translation": "<6.4", "symfony/translation-contracts": "<2.5", - "symfony/twig-bridge": "<6.4", - "symfony/validator": "<6.4", - "symfony/var-dumper": "<6.4", - "twig/twig": "<3.12" + "twig/twig": "<3.21" }, "provide": { "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { "psr/cache": "^1.0|^2.0|^3.0", - "symfony/browser-kit": "^6.4|^7.0|^8.0", - "symfony/clock": "^6.4|^7.0|^8.0", - "symfony/config": "^6.4|^7.0|^8.0", - "symfony/console": "^6.4|^7.0|^8.0", - "symfony/css-selector": "^6.4|^7.0|^8.0", - "symfony/dependency-injection": "^6.4.1|^7.0.1|^8.0", - "symfony/dom-crawler": "^6.4|^7.0|^8.0", - "symfony/expression-language": "^6.4|^7.0|^8.0", - "symfony/finder": "^6.4|^7.0|^8.0", + "symfony/browser-kit": "^7.4|^8.0", + "symfony/clock": "^7.4|^8.0", + "symfony/config": "^7.4|^8.0", + "symfony/console": "^7.4|^8.0", + "symfony/css-selector": "^7.4|^8.0", + "symfony/dependency-injection": "^7.4|^8.0", + "symfony/dom-crawler": "^7.4|^8.0", + "symfony/expression-language": "^7.4|^8.0", + "symfony/finder": "^7.4|^8.0", "symfony/http-client-contracts": "^2.5|^3", - "symfony/process": "^6.4|^7.0|^8.0", - "symfony/property-access": "^7.1|^8.0", - "symfony/routing": "^6.4|^7.0|^8.0", - "symfony/serializer": "^7.1|^8.0", - "symfony/stopwatch": "^6.4|^7.0|^8.0", - "symfony/translation": "^6.4|^7.0|^8.0", + "symfony/process": "^7.4|^8.0", + "symfony/property-access": "^7.4|^8.0", + "symfony/routing": "^7.4|^8.0", + "symfony/serializer": "^7.4|^8.0", + "symfony/stopwatch": "^7.4|^8.0", + "symfony/translation": "^7.4|^8.0", "symfony/translation-contracts": "^2.5|^3", - "symfony/uid": "^6.4|^7.0|^8.0", - "symfony/validator": "^6.4|^7.0|^8.0", - "symfony/var-dumper": "^6.4|^7.0|^8.0", - "symfony/var-exporter": "^6.4|^7.0|^8.0", - "twig/twig": "^3.12" + "symfony/uid": "^7.4|^8.0", + "symfony/validator": "^7.4|^8.0", + "symfony/var-dumper": "^7.4|^8.0", + "symfony/var-exporter": "^7.4|^8.0", + "twig/twig": "^3.21" }, "type": "library", "autoload": { @@ -8257,7 +7910,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v7.4.13" + "source": "https://github.com/symfony/http-kernel/tree/v8.0.13" }, "funding": [ { @@ -8277,43 +7930,39 @@ "type": "tidelift" } ], - "time": "2026-05-27T08:31:43+00:00" + "time": "2026-05-27T08:48:59+00:00" }, { "name": "symfony/mailer", - "version": "v7.4.12", + "version": "v8.0.12", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "5cefb712a25f320579615ba9e1942abaeade7dff" + "reference": "5266d594e83593dff3492b5655ff6e8f38d67cfc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/5cefb712a25f320579615ba9e1942abaeade7dff", - "reference": "5cefb712a25f320579615ba9e1942abaeade7dff", + "url": "https://api.github.com/repos/symfony/mailer/zipball/5266d594e83593dff3492b5655ff6e8f38d67cfc", + "reference": "5266d594e83593dff3492b5655ff6e8f38d67cfc", "shasum": "" }, "require": { "egulias/email-validator": "^2.1.10|^3|^4", - "php": ">=8.2", + "php": ">=8.4", "psr/event-dispatcher": "^1", "psr/log": "^1|^2|^3", - "symfony/event-dispatcher": "^6.4|^7.0|^8.0", - "symfony/mime": "^7.2|^8.0", + "symfony/event-dispatcher": "^7.4|^8.0", + "symfony/mime": "^7.4|^8.0", "symfony/service-contracts": "^2.5|^3" }, "conflict": { - "symfony/http-client-contracts": "<2.5", - "symfony/http-kernel": "<6.4", - "symfony/messenger": "<6.4", - "symfony/mime": "<6.4", - "symfony/twig-bridge": "<6.4" + "symfony/http-client-contracts": "<2.5" }, "require-dev": { - "symfony/console": "^6.4|^7.0|^8.0", - "symfony/http-client": "^6.4|^7.0|^8.0", - "symfony/messenger": "^6.4|^7.0|^8.0", - "symfony/twig-bridge": "^6.4|^7.0|^8.0" + "symfony/console": "^7.4|^8.0", + "symfony/http-client": "^7.4|^8.0", + "symfony/messenger": "^7.4|^8.0", + "symfony/twig-bridge": "^7.4|^8.0" }, "type": "library", "autoload": { @@ -8341,7 +7990,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v7.4.12" + "source": "https://github.com/symfony/mailer/tree/v8.0.12" }, "funding": [ { @@ -8361,44 +8010,41 @@ "type": "tidelift" } ], - "time": "2026-05-20T07:20:23+00:00" + "time": "2026-05-20T07:22:03+00:00" }, { "name": "symfony/mime", - "version": "v7.4.13", + "version": "v8.0.13", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "a845722765c4f6b2ce88beaf4f4479975b186770" + "reference": "7c078c464c5ce36e8bcaf54b3b3e3c51d30a9646" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/a845722765c4f6b2ce88beaf4f4479975b186770", - "reference": "a845722765c4f6b2ce88beaf4f4479975b186770", + "url": "https://api.github.com/repos/symfony/mime/zipball/7c078c464c5ce36e8bcaf54b3b3e3c51d30a9646", + "reference": "7c078c464c5ce36e8bcaf54b3b3e3c51d30a9646", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3", + "php": ">=8.4", "symfony/polyfill-intl-idn": "^1.10", "symfony/polyfill-mbstring": "^1.0" }, "conflict": { "egulias/email-validator": "~3.0.0", "phpdocumentor/reflection-docblock": "<5.2|>=7", - "phpdocumentor/type-resolver": "<1.5.1", - "symfony/mailer": "<6.4", - "symfony/serializer": "<6.4.3|>7.0,<7.0.3" + "phpdocumentor/type-resolver": "<1.5.1" }, "require-dev": { "egulias/email-validator": "^2.1.10|^3.1|^4", "league/html-to-markdown": "^5.0", "phpdocumentor/reflection-docblock": "^5.2|^6.0", - "symfony/dependency-injection": "^6.4|^7.0|^8.0", - "symfony/process": "^6.4|^7.0|^8.0", - "symfony/property-access": "^6.4|^7.0|^8.0", - "symfony/property-info": "^6.4|^7.0|^8.0", - "symfony/serializer": "^6.4.3|^7.0.3|^8.0" + "symfony/dependency-injection": "^7.4|^8.0", + "symfony/process": "^7.4|^8.0", + "symfony/property-access": "^7.4|^8.0", + "symfony/property-info": "^7.4|^8.0", + "symfony/serializer": "^7.4|^8.0" }, "type": "library", "autoload": { @@ -8430,7 +8076,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v7.4.13" + "source": "https://github.com/symfony/mime/tree/v8.0.13" }, "funding": [ { @@ -8450,24 +8096,24 @@ "type": "tidelift" } ], - "time": "2026-05-23T16:22:37+00:00" + "time": "2026-05-23T18:05:53+00:00" }, { "name": "symfony/options-resolver", - "version": "v7.4.0", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "b38026df55197f9e39a44f3215788edf83187b80" + "reference": "b48bce0a70b914f6953dafbd10474df232ed4de8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/b38026df55197f9e39a44f3215788edf83187b80", - "reference": "b38026df55197f9e39a44f3215788edf83187b80", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/b48bce0a70b914f6953dafbd10474df232ed4de8", + "reference": "b48bce0a70b914f6953dafbd10474df232ed4de8", "shasum": "" }, "require": { - "php": ">=8.2", + "php": ">=8.4", "symfony/deprecation-contracts": "^2.5|^3" }, "type": "library", @@ -8501,7 +8147,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v7.4.0" + "source": "https://github.com/symfony/options-resolver/tree/v8.0.8" }, "funding": [ { @@ -8521,20 +8167,20 @@ "type": "tidelift" } ], - "time": "2025-11-12T15:39:26+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.33.0", + "version": "v1.37.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" + "reference": "141046a8f9477948ff284fa65be2095baafb94f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", - "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/141046a8f9477948ff284fa65be2095baafb94f2", + "reference": "141046a8f9477948ff284fa65be2095baafb94f2", "shasum": "" }, "require": { @@ -8584,7 +8230,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.37.0" }, "funding": [ { @@ -8604,20 +8250,20 @@ "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2026-04-10T16:19:22+00:00" }, { "name": "symfony/polyfill-iconv", - "version": "v1.33.0", + "version": "v1.37.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "5f3b930437ae03ae5dff61269024d8ea1b3774aa" + "reference": "2c5729fd241b4b22f6e4b436bc3354a4f262df57" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/5f3b930437ae03ae5dff61269024d8ea1b3774aa", - "reference": "5f3b930437ae03ae5dff61269024d8ea1b3774aa", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/2c5729fd241b4b22f6e4b436bc3354a4f262df57", + "reference": "2c5729fd241b4b22f6e4b436bc3354a4f262df57", "shasum": "" }, "require": { @@ -8668,7 +8314,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-iconv/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-iconv/tree/v1.37.0" }, "funding": [ { @@ -8688,20 +8334,20 @@ "type": "tidelift" } ], - "time": "2024-09-17T14:58:18+00:00" + "time": "2026-04-10T16:19:22+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.33.0", + "version": "v1.38.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70" + "reference": "e9247d281d694a5120554d9afaf54e070e88a603" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/380872130d3a5dd3ace2f4010d95125fde5d5c70", - "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/e9247d281d694a5120554d9afaf54e070e88a603", + "reference": "e9247d281d694a5120554d9afaf54e070e88a603", "shasum": "" }, "require": { @@ -8750,7 +8396,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.38.1" }, "funding": [ { @@ -8770,7 +8416,7 @@ "type": "tidelift" } ], - "time": "2025-06-27T09:58:17+00:00" + "time": "2026-05-26T05:58:03+00:00" }, { "name": "symfony/polyfill-intl-idn", @@ -8861,16 +8507,16 @@ }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.33.0", + "version": "v1.38.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "3833d7255cc303546435cb650316bff708a1c75c" + "reference": "2d446c214bdbe5b71bde5011b060a05fece3ae6b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", - "reference": "3833d7255cc303546435cb650316bff708a1c75c", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/2d446c214bdbe5b71bde5011b060a05fece3ae6b", + "reference": "2d446c214bdbe5b71bde5011b060a05fece3ae6b", "shasum": "" }, "require": { @@ -8922,7 +8568,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.38.0" }, "funding": [ { @@ -8942,20 +8588,20 @@ "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2026-05-25T13:48:31+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.33.0", + "version": "v1.38.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" + "reference": "14c5439eec4ccff081ac14eca2dc57feb2a66d92" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", - "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/14c5439eec4ccff081ac14eca2dc57feb2a66d92", + "reference": "14c5439eec4ccff081ac14eca2dc57feb2a66d92", "shasum": "" }, "require": { @@ -9007,7 +8653,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.38.1" }, "funding": [ { @@ -9027,7 +8673,7 @@ "type": "tidelift" } ], - "time": "2024-12-23T08:48:59+00:00" + "time": "2026-05-26T12:51:13+00:00" }, { "name": "symfony/polyfill-php72", @@ -9096,16 +8742,16 @@ }, { "name": "symfony/polyfill-php80", - "version": "v1.33.0", + "version": "v1.37.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608" + "reference": "dfb55726c3a76ea3b6459fcfda1ec2d80a682411" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608", - "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/dfb55726c3a76ea3b6459fcfda1ec2d80a682411", + "reference": "dfb55726c3a76ea3b6459fcfda1ec2d80a682411", "shasum": "" }, "require": { @@ -9156,7 +8802,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.37.0" }, "funding": [ { @@ -9176,20 +8822,20 @@ "type": "tidelift" } ], - "time": "2025-01-02T08:10:11+00:00" + "time": "2026-04-10T16:19:22+00:00" }, { - "name": "symfony/polyfill-php83", - "version": "v1.33.0", + "name": "symfony/polyfill-php84", + "version": "v1.38.1", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php83.git", - "reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5" + "url": "https://github.com/symfony/polyfill-php84.git", + "reference": "f4e1dfaee5b74aba5964fe1fd4dfc7ba5e3085fa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/17f6f9a6b1735c0f163024d959f700cfbc5155e5", - "reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5", + "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/f4e1dfaee5b74aba5964fe1fd4dfc7ba5e3085fa", + "reference": "f4e1dfaee5b74aba5964fe1fd4dfc7ba5e3085fa", "shasum": "" }, "require": { @@ -9207,7 +8853,7 @@ "bootstrap.php" ], "psr-4": { - "Symfony\\Polyfill\\Php83\\": "" + "Symfony\\Polyfill\\Php84\\": "" }, "classmap": [ "Resources/stubs" @@ -9227,7 +8873,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", + "description": "Symfony polyfill backporting some PHP 8.4+ features to lower PHP versions", "homepage": "https://symfony.com", "keywords": [ "compatibility", @@ -9236,7 +8882,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php83/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-php84/tree/v1.38.1" }, "funding": [ { @@ -9256,20 +8902,20 @@ "type": "tidelift" } ], - "time": "2025-07-08T02:45:35+00:00" + "time": "2026-05-26T12:51:13+00:00" }, { "name": "symfony/polyfill-php85", - "version": "v1.33.0", + "version": "v1.38.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php85.git", - "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91" + "reference": "ba2ba04f3352cfa2dcbbcb90aee13ed967f505b1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php85/zipball/d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91", - "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91", + "url": "https://api.github.com/repos/symfony/polyfill-php85/zipball/ba2ba04f3352cfa2dcbbcb90aee13ed967f505b1", + "reference": "ba2ba04f3352cfa2dcbbcb90aee13ed967f505b1", "shasum": "" }, "require": { @@ -9316,7 +8962,87 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php85/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-php85/tree/v1.38.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-05-26T02:25:22+00:00" + }, + { + "name": "symfony/polyfill-php86", + "version": "v1.38.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php86.git", + "reference": "fcec68d64f46dc84e1f6ffcf2c6dda40ff3143ad" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php86/zipball/fcec68d64f46dc84e1f6ffcf2c6dda40ff3143ad", + "reference": "fcec68d64f46dc84e1f6ffcf2c6dda40ff3143ad", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php86\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.6+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php86/tree/v1.38.0" }, "funding": [ { @@ -9336,20 +9062,20 @@ "type": "tidelift" } ], - "time": "2025-06-23T16:12:55+00:00" + "time": "2026-05-25T11:52:35+00:00" }, { "name": "symfony/polyfill-uuid", - "version": "v1.33.0", + "version": "v1.37.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-uuid.git", - "reference": "21533be36c24be3f4b1669c4725c7d1d2bab4ae2" + "reference": "26dfec253c4cf3e51b541b52ddf7e42cb0908e94" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/21533be36c24be3f4b1669c4725c7d1d2bab4ae2", - "reference": "21533be36c24be3f4b1669c4725c7d1d2bab4ae2", + "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/26dfec253c4cf3e51b541b52ddf7e42cb0908e94", + "reference": "26dfec253c4cf3e51b541b52ddf7e42cb0908e94", "shasum": "" }, "require": { @@ -9399,7 +9125,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/polyfill-uuid/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-uuid/tree/v1.37.0" }, "funding": [ { @@ -9419,24 +9145,24 @@ "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2026-04-10T16:19:22+00:00" }, { "name": "symfony/process", - "version": "v7.4.5", + "version": "v8.0.13", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "608476f4604102976d687c483ac63a79ba18cc97" + "reference": "4f23d9c7637ead9ed19f697fe93cb87fd9b379d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/608476f4604102976d687c483ac63a79ba18cc97", - "reference": "608476f4604102976d687c483ac63a79ba18cc97", + "url": "https://api.github.com/repos/symfony/process/zipball/4f23d9c7637ead9ed19f697fe93cb87fd9b379d4", + "reference": "4f23d9c7637ead9ed19f697fe93cb87fd9b379d4", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.4" }, "type": "library", "autoload": { @@ -9464,7 +9190,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v7.4.5" + "source": "https://github.com/symfony/process/tree/v8.0.13" }, "funding": [ { @@ -9484,41 +9210,40 @@ "type": "tidelift" } ], - "time": "2026-01-26T15:07:59+00:00" + "time": "2026-05-23T18:05:53+00:00" }, { "name": "symfony/psr-http-message-bridge", - "version": "v7.4.0", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "0101ff8bd0506703b045b1670960302d302a726c" + "reference": "94facc221260c1d5f20e31ee43cd6c6a824b4a19" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/0101ff8bd0506703b045b1670960302d302a726c", - "reference": "0101ff8bd0506703b045b1670960302d302a726c", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/94facc221260c1d5f20e31ee43cd6c6a824b4a19", + "reference": "94facc221260c1d5f20e31ee43cd6c6a824b4a19", "shasum": "" }, "require": { - "php": ">=8.2", + "php": ">=8.4", "psr/http-message": "^1.0|^2.0", - "symfony/http-foundation": "^6.4|^7.0|^8.0" + "symfony/http-foundation": "^7.4|^8.0" }, "conflict": { - "php-http/discovery": "<1.15", - "symfony/http-kernel": "<6.4" + "php-http/discovery": "<1.15" }, "require-dev": { "nyholm/psr7": "^1.1", "php-http/discovery": "^1.15", "psr/log": "^1.1.4|^2|^3", - "symfony/browser-kit": "^6.4|^7.0|^8.0", - "symfony/config": "^6.4|^7.0|^8.0", - "symfony/event-dispatcher": "^6.4|^7.0|^8.0", - "symfony/framework-bundle": "^6.4.13|^7.1.6|^8.0", - "symfony/http-kernel": "^6.4.13|^7.1.6|^8.0", - "symfony/runtime": "^6.4.13|^7.1.6|^8.0" + "symfony/browser-kit": "^7.4|^8.0", + "symfony/config": "^7.4|^8.0", + "symfony/event-dispatcher": "^7.4|^8.0", + "symfony/framework-bundle": "^7.4|^8.0", + "symfony/http-kernel": "^7.4|^8.0", + "symfony/runtime": "^7.4|^8.0" }, "type": "symfony-bridge", "autoload": { @@ -9552,7 +9277,7 @@ "psr-7" ], "support": { - "source": "https://github.com/symfony/psr-http-message-bridge/tree/v7.4.0" + "source": "https://github.com/symfony/psr-http-message-bridge/tree/v8.0.8" }, "funding": [ { @@ -9572,38 +9297,33 @@ "type": "tidelift" } ], - "time": "2025-11-13T08:38:49+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/routing", - "version": "v7.4.13", + "version": "v8.0.13", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "3a162171bb008e5e0f15dce6581373a4c0e8390d" + "reference": "18e6213e536842285dfdd29604e43ac8f784d17d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/3a162171bb008e5e0f15dce6581373a4c0e8390d", - "reference": "3a162171bb008e5e0f15dce6581373a4c0e8390d", + "url": "https://api.github.com/repos/symfony/routing/zipball/18e6213e536842285dfdd29604e43ac8f784d17d", + "reference": "18e6213e536842285dfdd29604e43ac8f784d17d", "shasum": "" }, "require": { - "php": ">=8.2", + "php": ">=8.4", "symfony/deprecation-contracts": "^2.5|^3" }, - "conflict": { - "symfony/config": "<6.4", - "symfony/dependency-injection": "<6.4", - "symfony/yaml": "<6.4" - }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^6.4|^7.0|^8.0", - "symfony/dependency-injection": "^6.4|^7.0|^8.0", - "symfony/expression-language": "^6.4|^7.0|^8.0", - "symfony/http-foundation": "^6.4|^7.0|^8.0", - "symfony/yaml": "^6.4|^7.0|^8.0" + "symfony/config": "^7.4|^8.0", + "symfony/dependency-injection": "^7.4|^8.0", + "symfony/expression-language": "^7.4|^8.0", + "symfony/http-foundation": "^7.4|^8.0", + "symfony/yaml": "^7.4|^8.0" }, "type": "library", "autoload": { @@ -9637,7 +9357,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v7.4.13" + "source": "https://github.com/symfony/routing/tree/v8.0.13" }, "funding": [ { @@ -9657,20 +9377,20 @@ "type": "tidelift" } ], - "time": "2026-05-24T11:20:33+00:00" + "time": "2026-05-24T11:21:57+00:00" }, { "name": "symfony/service-contracts", - "version": "v3.6.1", + "version": "v3.7.0", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43" + "reference": "d25d82433a80eba6aa0e6c24b61d7370d99e444a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/45112560a3ba2d715666a509a0bc9521d10b6c43", - "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d25d82433a80eba6aa0e6c24b61d7370d99e444a", + "reference": "d25d82433a80eba6aa0e6c24b61d7370d99e444a", "shasum": "" }, "require": { @@ -9688,7 +9408,7 @@ "name": "symfony/contracts" }, "branch-alias": { - "dev-main": "3.6-dev" + "dev-main": "3.7-dev" } }, "autoload": { @@ -9724,7 +9444,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.6.1" + "source": "https://github.com/symfony/service-contracts/tree/v3.7.0" }, "funding": [ { @@ -9744,39 +9464,38 @@ "type": "tidelift" } ], - "time": "2025-07-15T11:30:57+00:00" + "time": "2026-03-28T09:44:51+00:00" }, { "name": "symfony/string", - "version": "v7.4.4", + "version": "v8.0.13", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "1c4b10461bf2ec27537b5f36105337262f5f5d6f" + "reference": "f2e3e4d33579350d1b12001ef2872f86b27ed3dc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/1c4b10461bf2ec27537b5f36105337262f5f5d6f", - "reference": "1c4b10461bf2ec27537b5f36105337262f5f5d6f", + "url": "https://api.github.com/repos/symfony/string/zipball/f2e3e4d33579350d1b12001ef2872f86b27ed3dc", + "reference": "f2e3e4d33579350d1b12001ef2872f86b27ed3dc", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3.0", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-intl-grapheme": "~1.33", - "symfony/polyfill-intl-normalizer": "~1.0", - "symfony/polyfill-mbstring": "~1.0" + "php": ">=8.4", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-intl-grapheme": "^1.33", + "symfony/polyfill-intl-normalizer": "^1.0", + "symfony/polyfill-mbstring": "^1.0" }, "conflict": { "symfony/translation-contracts": "<2.5" }, "require-dev": { - "symfony/emoji": "^7.1|^8.0", - "symfony/http-client": "^6.4|^7.0|^8.0", - "symfony/intl": "^6.4|^7.0|^8.0", + "symfony/emoji": "^7.4|^8.0", + "symfony/http-client": "^7.4|^8.0", + "symfony/intl": "^7.4|^8.0", "symfony/translation-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^6.4|^7.0|^8.0" + "symfony/var-exporter": "^7.4|^8.0" }, "type": "library", "autoload": { @@ -9815,7 +9534,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.4.4" + "source": "https://github.com/symfony/string/tree/v8.0.13" }, "funding": [ { @@ -9835,38 +9554,31 @@ "type": "tidelift" } ], - "time": "2026-01-12T10:54:30+00:00" + "time": "2026-05-23T18:05:53+00:00" }, { "name": "symfony/translation", - "version": "v7.4.0", + "version": "v8.0.10", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "2d01ca0da3f092f91eeedb46f24aa30d2fca8f68" + "reference": "f63e9342e12646a57c91ef8a366a4f9d8e557b67" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/2d01ca0da3f092f91eeedb46f24aa30d2fca8f68", - "reference": "2d01ca0da3f092f91eeedb46f24aa30d2fca8f68", + "url": "https://api.github.com/repos/symfony/translation/zipball/f63e9342e12646a57c91ef8a366a4f9d8e557b67", + "reference": "f63e9342e12646a57c91ef8a366a4f9d8e557b67", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/translation-contracts": "^2.5.3|^3.3" + "php": ">=8.4", + "symfony/polyfill-mbstring": "^1.0", + "symfony/translation-contracts": "^3.6.1" }, "conflict": { "nikic/php-parser": "<5.0", - "symfony/config": "<6.4", - "symfony/console": "<6.4", - "symfony/dependency-injection": "<6.4", "symfony/http-client-contracts": "<2.5", - "symfony/http-kernel": "<6.4", - "symfony/service-contracts": "<2.5", - "symfony/twig-bundle": "<6.4", - "symfony/yaml": "<6.4" + "symfony/service-contracts": "<2.5" }, "provide": { "symfony/translation-implementation": "2.3|3.0" @@ -9874,17 +9586,17 @@ "require-dev": { "nikic/php-parser": "^5.0", "psr/log": "^1|^2|^3", - "symfony/config": "^6.4|^7.0|^8.0", - "symfony/console": "^6.4|^7.0|^8.0", - "symfony/dependency-injection": "^6.4|^7.0|^8.0", - "symfony/finder": "^6.4|^7.0|^8.0", + "symfony/config": "^7.4|^8.0", + "symfony/console": "^7.4|^8.0", + "symfony/dependency-injection": "^7.4|^8.0", + "symfony/finder": "^7.4|^8.0", "symfony/http-client-contracts": "^2.5|^3.0", - "symfony/http-kernel": "^6.4|^7.0|^8.0", - "symfony/intl": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^7.4|^8.0", + "symfony/intl": "^7.4|^8.0", "symfony/polyfill-intl-icu": "^1.21", - "symfony/routing": "^6.4|^7.0|^8.0", + "symfony/routing": "^7.4|^8.0", "symfony/service-contracts": "^2.5|^3", - "symfony/yaml": "^6.4|^7.0|^8.0" + "symfony/yaml": "^7.4|^8.0" }, "type": "library", "autoload": { @@ -9915,7 +9627,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v7.4.0" + "source": "https://github.com/symfony/translation/tree/v8.0.10" }, "funding": [ { @@ -9935,20 +9647,20 @@ "type": "tidelift" } ], - "time": "2025-11-27T13:27:24+00:00" + "time": "2026-05-06T11:30:54+00:00" }, { "name": "symfony/translation-contracts", - "version": "v3.6.1", + "version": "v3.7.0", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "65a8bc82080447fae78373aa10f8d13b38338977" + "reference": "0ab302977a952b42fd51475c4ebac81f8da0a95d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/65a8bc82080447fae78373aa10f8d13b38338977", - "reference": "65a8bc82080447fae78373aa10f8d13b38338977", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/0ab302977a952b42fd51475c4ebac81f8da0a95d", + "reference": "0ab302977a952b42fd51475c4ebac81f8da0a95d", "shasum": "" }, "require": { @@ -9961,7 +9673,7 @@ "name": "symfony/contracts" }, "branch-alias": { - "dev-main": "3.6-dev" + "dev-main": "3.7-dev" } }, "autoload": { @@ -9997,7 +9709,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.6.1" + "source": "https://github.com/symfony/translation-contracts/tree/v3.7.0" }, "funding": [ { @@ -10017,28 +9729,28 @@ "type": "tidelift" } ], - "time": "2025-07-15T13:41:35+00:00" + "time": "2026-01-05T13:30:16+00:00" }, { "name": "symfony/uid", - "version": "v7.4.0", + "version": "v8.0.9", "source": { "type": "git", "url": "https://github.com/symfony/uid.git", - "reference": "2498e9f81b7baa206f44de583f2f48350b90142c" + "reference": "4d9d6510bbe88ebb4608b7200d18606cdf80825c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/uid/zipball/2498e9f81b7baa206f44de583f2f48350b90142c", - "reference": "2498e9f81b7baa206f44de583f2f48350b90142c", + "url": "https://api.github.com/repos/symfony/uid/zipball/4d9d6510bbe88ebb4608b7200d18606cdf80825c", + "reference": "4d9d6510bbe88ebb4608b7200d18606cdf80825c", "shasum": "" }, "require": { - "php": ">=8.2", + "php": ">=8.4", "symfony/polyfill-uuid": "^1.15" }, "require-dev": { - "symfony/console": "^6.4|^7.0|^8.0" + "symfony/console": "^7.4|^8.0" }, "type": "library", "autoload": { @@ -10075,7 +9787,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/uid/tree/v7.4.0" + "source": "https://github.com/symfony/uid/tree/v8.0.9" }, "funding": [ { @@ -10095,35 +9807,35 @@ "type": "tidelift" } ], - "time": "2025-09-25T11:02:55+00:00" + "time": "2026-04-30T16:10:06+00:00" }, { "name": "symfony/var-dumper", - "version": "v7.4.4", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "0e4769b46a0c3c62390d124635ce59f66874b282" + "reference": "cfb7badd53bf4177f6e9416cfbbccc13c0e773a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/0e4769b46a0c3c62390d124635ce59f66874b282", - "reference": "0e4769b46a0c3c62390d124635ce59f66874b282", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/cfb7badd53bf4177f6e9416cfbbccc13c0e773a1", + "reference": "cfb7badd53bf4177f6e9416cfbbccc13c0e773a1", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-mbstring": "~1.0" + "php": ">=8.4", + "symfony/polyfill-mbstring": "^1.0" }, "conflict": { - "symfony/console": "<6.4" + "symfony/console": "<7.4", + "symfony/error-handler": "<7.4" }, "require-dev": { - "symfony/console": "^6.4|^7.0|^8.0", - "symfony/http-kernel": "^6.4|^7.0|^8.0", - "symfony/process": "^6.4|^7.0|^8.0", - "symfony/uid": "^6.4|^7.0|^8.0", + "symfony/console": "^7.4|^8.0", + "symfony/http-kernel": "^7.4|^8.0", + "symfony/process": "^7.4|^8.0", + "symfony/uid": "^7.4|^8.0", "twig/twig": "^3.12" }, "bin": [ @@ -10162,7 +9874,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v7.4.4" + "source": "https://github.com/symfony/var-dumper/tree/v8.0.8" }, "funding": [ { @@ -10182,30 +9894,29 @@ "type": "tidelift" } ], - "time": "2026-01-01T22:13:48+00:00" + "time": "2026-03-31T07:15:36+00:00" }, { "name": "symfony/var-exporter", - "version": "v7.4.0", + "version": "v8.0.9", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "03a60f169c79a28513a78c967316fbc8bf17816f" + "reference": "24cf67be4dd0926e4413635418682f4fff831412" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/03a60f169c79a28513a78c967316fbc8bf17816f", - "reference": "03a60f169c79a28513a78c967316fbc8bf17816f", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/24cf67be4dd0926e4413635418682f4fff831412", + "reference": "24cf67be4dd0926e4413635418682f4fff831412", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3" + "php": ">=8.4" }, "require-dev": { - "symfony/property-access": "^6.4|^7.0|^8.0", - "symfony/serializer": "^6.4|^7.0|^8.0", - "symfony/var-dumper": "^6.4|^7.0|^8.0" + "symfony/property-access": "^7.4|^8.0", + "symfony/serializer": "^7.4|^8.0", + "symfony/var-dumper": "^7.4|^8.0" }, "type": "library", "autoload": { @@ -10243,7 +9954,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v7.4.0" + "source": "https://github.com/symfony/var-exporter/tree/v8.0.9" }, "funding": [ { @@ -10263,32 +9974,31 @@ "type": "tidelift" } ], - "time": "2025-09-11T10:15:23+00:00" + "time": "2026-04-18T13:51:42+00:00" }, { "name": "symfony/yaml", - "version": "v7.4.13", + "version": "v8.0.13", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "a7ec3b1156faf8815db7683ec7c1e7338e6f977c" + "reference": "a1cdf99e359d5c001782a2db67a1fc71b2a5b34e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/a7ec3b1156faf8815db7683ec7c1e7338e6f977c", - "reference": "a7ec3b1156faf8815db7683ec7c1e7338e6f977c", + "url": "https://api.github.com/repos/symfony/yaml/zipball/a1cdf99e359d5c001782a2db67a1fc71b2a5b34e", + "reference": "a1cdf99e359d5c001782a2db67a1fc71b2a5b34e", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3", + "php": ">=8.4", "symfony/polyfill-ctype": "^1.8" }, "conflict": { - "symfony/console": "<6.4" + "symfony/console": "<7.4" }, "require-dev": { - "symfony/console": "^6.4|^7.0|^8.0" + "symfony/console": "^7.4|^8.0" }, "bin": [ "Resources/bin/yaml-lint" @@ -10319,7 +10029,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v7.4.13" + "source": "https://github.com/symfony/yaml/tree/v8.0.13" }, "funding": [ { @@ -10339,27 +10049,27 @@ "type": "tidelift" } ], - "time": "2026-05-25T06:06:12+00:00" + "time": "2026-05-25T06:08:44+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", - "version": "v2.3.0", + "version": "v2.4.0", "source": { "type": "git", "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", - "reference": "0d72ac1c00084279c1816675284073c5a337c20d" + "reference": "f0292ccf0ec75843d65027214426b6b163b48b41" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/0d72ac1c00084279c1816675284073c5a337c20d", - "reference": "0d72ac1c00084279c1816675284073c5a337c20d", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/f0292ccf0ec75843d65027214426b6b163b48b41", + "reference": "f0292ccf0ec75843d65027214426b6b163b48b41", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "php": "^7.4 || ^8.0", - "symfony/css-selector": "^5.4 || ^6.0 || ^7.0" + "symfony/css-selector": "^5.4 || ^6.0 || ^7.0 || ^8.0" }, "require-dev": { "phpstan/phpstan": "^2.0", @@ -10392,37 +10102,37 @@ "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", "support": { "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", - "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.3.0" + "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.4.0" }, - "time": "2024-12-21T16:25:41+00:00" + "time": "2025-12-02T11:56:42+00:00" }, { "name": "tymon/jwt-auth", - "version": "2.2.1", + "version": "2.3.0", "source": { "type": "git", "url": "https://github.com/tymondesigns/jwt-auth.git", - "reference": "42381e56db1bf887c12e5302d11901d65cc74856" + "reference": "6c70930a92710d97e8e52b182fca2176097f33be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tymondesigns/jwt-auth/zipball/42381e56db1bf887c12e5302d11901d65cc74856", - "reference": "42381e56db1bf887c12e5302d11901d65cc74856", + "url": "https://api.github.com/repos/tymondesigns/jwt-auth/zipball/6c70930a92710d97e8e52b182fca2176097f33be", + "reference": "6c70930a92710d97e8e52b182fca2176097f33be", "shasum": "" }, "require": { - "illuminate/auth": "^9.0|^10.0|^11.0|^12.0", - "illuminate/contracts": "^9.0|^10.0|^11.0|^12.0", - "illuminate/http": "^9.0|^10.0|^11.0|^12.0", - "illuminate/support": "^9.0|^10.0|^11.0|^12.0", - "lcobucci/jwt": "^4.0", + "illuminate/auth": "^9.0|^10.0|^11.0|^12.0|^13.0", + "illuminate/contracts": "^9.0|^10.0|^11.0|^12.0|^13.0", + "illuminate/http": "^9.0|^10.0|^11.0|^12.0|^13.0", + "illuminate/support": "^9.0|^10.0|^11.0|^12.0|^13.0", + "lcobucci/jwt": "^4.0|^5.0", "nesbot/carbon": "^2.69|^3.0", "php": "^8.0" }, "require-dev": { - "illuminate/console": "^9.0|^10.0|^11.0|^12.0", - "illuminate/database": "^9.0|^10.0|^11.0|^12.0", - "illuminate/routing": "^9.0|^10.0|^11.0|^12.0", + "illuminate/console": "^9.0|^10.0|^11.0|^12.0|^13.0", + "illuminate/database": "^9.0|^10.0|^11.0|^12.0|^13.0", + "illuminate/routing": "^9.0|^10.0|^11.0|^12.0|^13.0", "mockery/mockery": "^1.6", "phpunit/phpunit": "^9.4" }, @@ -10472,36 +10182,30 @@ "issues": "https://github.com/tymondesigns/jwt-auth/issues", "source": "https://github.com/tymondesigns/jwt-auth" }, - "funding": [ - { - "url": "https://www.patreon.com/seantymon", - "type": "patreon" - } - ], - "time": "2025-04-16T22:22:54+00:00" + "time": "2026-03-06T09:50:45+00:00" }, { "name": "unisharp/laravel-filemanager", - "version": "v2.12.1", + "version": "v2.14.0", "source": { "type": "git", "url": "https://github.com/UniSharp/laravel-filemanager.git", - "reference": "dff25f1d85789ae56a62b53b979330346bf4a8b9" + "reference": "18f428295ed77729ec559852c240d58a482a27a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/UniSharp/laravel-filemanager/zipball/dff25f1d85789ae56a62b53b979330346bf4a8b9", - "reference": "dff25f1d85789ae56a62b53b979330346bf4a8b9", + "url": "https://api.github.com/repos/UniSharp/laravel-filemanager/zipball/18f428295ed77729ec559852c240d58a482a27a7", + "reference": "18f428295ed77729ec559852c240d58a482a27a7", "shasum": "" }, "require": { "ext-exif": "*", "ext-fileinfo": "*", - "illuminate/config": "^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0 || ^12.0", - "illuminate/container": "^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0 || ^12.0", - "illuminate/filesystem": "^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0 || ^12.0", - "illuminate/http": "^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0 || ^12.0", - "illuminate/support": "^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0 || ^12.0", + "illuminate/config": "^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0 || ^12.0 || ^13.0", + "illuminate/container": "^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0 || ^12.0 || ^13.0", + "illuminate/filesystem": "^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0 || ^12.0 || ^13.0", + "illuminate/http": "^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0 || ^12.0 || ^13.0", + "illuminate/support": "^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0 || ^12.0 || ^13.0", "intervention/image": ">=3.11.3", "league/flysystem": ">=2.0.0", "php": ">=8.1" @@ -10556,32 +10260,32 @@ ], "support": { "issues": "https://github.com/UniSharp/laravel-filemanager/issues", - "source": "https://github.com/UniSharp/laravel-filemanager/tree/v2.12.1" + "source": "https://github.com/UniSharp/laravel-filemanager/tree/v2.14.0" }, - "time": "2025-10-26T07:34:41+00:00" + "time": "2026-04-26T14:34:07+00:00" }, { "name": "vlucas/phpdotenv", - "version": "v5.6.2", + "version": "v5.6.3", "source": { "type": "git", "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af" + "reference": "955e7815d677a3eaa7075231212f2110983adecc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/24ac4c74f91ee2c193fa1aaa5c249cb0822809af", - "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/955e7815d677a3eaa7075231212f2110983adecc", + "reference": "955e7815d677a3eaa7075231212f2110983adecc", "shasum": "" }, "require": { "ext-pcre": "*", - "graham-campbell/result-type": "^1.1.3", + "graham-campbell/result-type": "^1.1.4", "php": "^7.2.5 || ^8.0", - "phpoption/phpoption": "^1.9.3", - "symfony/polyfill-ctype": "^1.24", - "symfony/polyfill-mbstring": "^1.24", - "symfony/polyfill-php80": "^1.24" + "phpoption/phpoption": "^1.9.5", + "symfony/polyfill-ctype": "^1.26", + "symfony/polyfill-mbstring": "^1.26", + "symfony/polyfill-php80": "^1.26" }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", @@ -10630,7 +10334,7 @@ ], "support": { "issues": "https://github.com/vlucas/phpdotenv/issues", - "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.2" + "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.3" }, "funding": [ { @@ -10642,28 +10346,28 @@ "type": "tidelift" } ], - "time": "2025-04-30T23:37:27+00:00" + "time": "2025-12-27T19:49:13+00:00" }, { "name": "voku/anti-xss", - "version": "4.1.42", + "version": "4.1.43", "source": { "type": "git", "url": "https://github.com/voku/anti-xss.git", - "reference": "bca1f8607e55a3c5077483615cd93bd8f11bd675" + "reference": "72b4248bfc29422b954182104438d9a4ffb8f8d9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/voku/anti-xss/zipball/bca1f8607e55a3c5077483615cd93bd8f11bd675", - "reference": "bca1f8607e55a3c5077483615cd93bd8f11bd675", + "url": "https://api.github.com/repos/voku/anti-xss/zipball/72b4248bfc29422b954182104438d9a4ffb8f8d9", + "reference": "72b4248bfc29422b954182104438d9a4ffb8f8d9", "shasum": "" }, "require": { "php": ">=7.0.0", - "voku/portable-utf8": "~6.0.2" + "voku/portable-utf8": "~6.1.0" }, "require-dev": { - "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" + "phpunit/phpunit": "~7.0 || ~8.0 || ~9.0 || ~10.0 || ~11.0 || ~12.0" }, "type": "library", "extra": { @@ -10701,7 +10405,7 @@ ], "support": { "issues": "https://github.com/voku/anti-xss/issues", - "source": "https://github.com/voku/anti-xss/tree/4.1.42" + "source": "https://github.com/voku/anti-xss/tree/4.1.43" }, "funding": [ { @@ -10725,27 +10429,27 @@ "type": "tidelift" } ], - "time": "2023-07-03T14:40:46+00:00" + "time": "2026-04-22T01:22:21+00:00" }, { "name": "voku/portable-ascii", - "version": "2.0.3", + "version": "2.1.1", "source": { "type": "git", "url": "https://github.com/voku/portable-ascii.git", - "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d" + "reference": "8e1051fe39379367aecf014f41744ce7539a856f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b1d923f88091c6bf09699efcd7c8a1b1bfd7351d", - "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/8e1051fe39379367aecf014f41744ce7539a856f", + "reference": "8e1051fe39379367aecf014f41744ce7539a856f", "shasum": "" }, "require": { - "php": ">=7.0.0" + "php": ">=7.1.0" }, "require-dev": { - "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" + "phpunit/phpunit": "~8.5 || ~9.6 || ~10.5 || ~11.5" }, "suggest": { "ext-intl": "Use Intl for transliterator_transliterate() support" @@ -10775,7 +10479,7 @@ ], "support": { "issues": "https://github.com/voku/portable-ascii/issues", - "source": "https://github.com/voku/portable-ascii/tree/2.0.3" + "source": "https://github.com/voku/portable-ascii/tree/2.1.1" }, "funding": [ { @@ -10799,37 +10503,33 @@ "type": "tidelift" } ], - "time": "2024-11-21T01:49:47+00:00" + "time": "2026-04-26T05:33:54+00:00" }, { "name": "voku/portable-utf8", - "version": "6.0.13", + "version": "6.1.1", "source": { "type": "git", "url": "https://github.com/voku/portable-utf8.git", - "reference": "b8ce36bf26593e5c2e81b1850ef0ffb299d2043f" + "reference": "837e32cd4b166320cc3e70e3ffe1ba413e81ee46" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/voku/portable-utf8/zipball/b8ce36bf26593e5c2e81b1850ef0ffb299d2043f", - "reference": "b8ce36bf26593e5c2e81b1850ef0ffb299d2043f", + "url": "https://api.github.com/repos/voku/portable-utf8/zipball/837e32cd4b166320cc3e70e3ffe1ba413e81ee46", + "reference": "837e32cd4b166320cc3e70e3ffe1ba413e81ee46", "shasum": "" }, "require": { - "php": ">=7.0.0", + "php": ">=7.1.0", "symfony/polyfill-iconv": "~1.0", "symfony/polyfill-intl-grapheme": "~1.0", "symfony/polyfill-intl-normalizer": "~1.0", "symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-php72": "~1.0", - "voku/portable-ascii": "~2.0.0" + "voku/portable-ascii": "~2.1.0" }, "require-dev": { - "phpstan/phpstan": "1.9.*@dev", - "phpstan/phpstan-strict-rules": "1.4.*@dev", - "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0", - "thecodingmachine/phpstan-strict-rules": "1.0.*@dev", - "voku/phpstan-rules": "3.1.*@dev" + "phpunit/phpunit": "~6.0 || ~7.0 || ~8.0 || ~9.0" }, "suggest": { "ext-ctype": "Use Ctype for e.g. hexadecimal digit detection", @@ -10878,7 +10578,7 @@ ], "support": { "issues": "https://github.com/voku/portable-utf8/issues", - "source": "https://github.com/voku/portable-utf8/tree/6.0.13" + "source": "https://github.com/voku/portable-utf8/tree/6.1.1" }, "funding": [ { @@ -10902,91 +10602,38 @@ "type": "tidelift" } ], - "time": "2023-03-08T08:35:38+00:00" - }, - { - "name": "willvincent/feeds", - "version": "v2.7.0", - "source": { - "type": "git", - "url": "https://github.com/willvincent/feeds.git", - "reference": "ead52a18671eb114a8563fa9a765c941d058975d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/willvincent/feeds/zipball/ead52a18671eb114a8563fa9a765c941d058975d", - "reference": "ead52a18671eb114a8563fa9a765c941d058975d", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "illuminate/support": "~5.0 || ^6.0 || ^7.0 || ^8.0|^9.0|^10.0 || ^11.0 || ^12.0", - "php": ">=5.4.0 || ^7.2 || ^8.0", - "simplepie/simplepie": "^1.5" - }, - "type": "library", - "extra": { - "laravel": { - "aliases": { - "Feeds": "willvincent\\Feeds\\Facades\\FeedsFacade" - }, - "providers": [ - "willvincent\\Feeds\\FeedsServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "willvincent\\Feeds\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Will Vincent", - "email": "tcindie@gmail.com" - } - ], - "description": "Laravel Service Provider for the SimplePie library", - "support": { - "issues": "https://github.com/willvincent/feeds/issues", - "source": "https://github.com/willvincent/feeds/tree/v2.7.0" - }, - "time": "2025-02-03T22:01:20+00:00" + "time": "2026-04-17T02:42:01+00:00" }, { "name": "yajra/laravel-datatables-oracle", - "version": "v11.1.6", + "version": "v13.1.2", "source": { "type": "git", "url": "https://github.com/yajra/laravel-datatables.git", - "reference": "b48eb614d0474c23a9c8041563beef9dda39656d" + "reference": "ded9345b7c00c85ce0fe0cea40e24e61c8489e10" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/yajra/laravel-datatables/zipball/b48eb614d0474c23a9c8041563beef9dda39656d", - "reference": "b48eb614d0474c23a9c8041563beef9dda39656d", + "url": "https://api.github.com/repos/yajra/laravel-datatables/zipball/ded9345b7c00c85ce0fe0cea40e24e61c8489e10", + "reference": "ded9345b7c00c85ce0fe0cea40e24e61c8489e10", "shasum": "" }, "require": { - "illuminate/database": "^11", - "illuminate/filesystem": "^11", - "illuminate/http": "^11", - "illuminate/support": "^11", - "illuminate/view": "^11", - "php": "^8.2" + "illuminate/database": "^13", + "illuminate/filesystem": "^13", + "illuminate/http": "^13", + "illuminate/support": "^13", + "illuminate/view": "^13", + "php": "^8.3" }, "require-dev": { "algolia/algoliasearch-client-php": "^3.4.1", - "larastan/larastan": "^2.9.1", + "larastan/larastan": "^3.1.0", "laravel/pint": "^1.14", "laravel/scout": "^10.8.3", "meilisearch/meilisearch-php": "^1.6.1", - "orchestra/testbench": "^9", - "rector/rector": "^1.0" + "orchestra/testbench": "^11", + "rector/rector": "^2.0" }, "suggest": { "yajra/laravel-datatables-buttons": "Plugin for server-side exporting of dataTables.", @@ -11006,7 +10653,7 @@ ] }, "branch-alias": { - "dev-master": "11.x-dev" + "dev-master": "13.x-dev" } }, "autoload": { @@ -11036,7 +10683,7 @@ ], "support": { "issues": "https://github.com/yajra/laravel-datatables/issues", - "source": "https://github.com/yajra/laravel-datatables/tree/v11.1.6" + "source": "https://github.com/yajra/laravel-datatables/tree/v13.1.2" }, "funding": [ { @@ -11044,7 +10691,7 @@ "type": "github" } ], - "time": "2025-01-21T03:15:46+00:00" + "time": "2026-05-19T03:34:29+00:00" } ], "packages-dev": [ @@ -11360,16 +11007,16 @@ }, { "name": "amphp/hpack", - "version": "v3.2.1", + "version": "v3.2.2", "source": { "type": "git", "url": "https://github.com/amphp/hpack.git", - "reference": "4f293064b15682a2b178b1367ddf0b8b5feb0239" + "reference": "291da27078e7e149a9bad4d08ff05bf7d81c89f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/amphp/hpack/zipball/4f293064b15682a2b178b1367ddf0b8b5feb0239", - "reference": "4f293064b15682a2b178b1367ddf0b8b5feb0239", + "url": "https://api.github.com/repos/amphp/hpack/zipball/291da27078e7e149a9bad4d08ff05bf7d81c89f4", + "reference": "291da27078e7e149a9bad4d08ff05bf7d81c89f4", "shasum": "" }, "require": { @@ -11378,7 +11025,7 @@ "require-dev": { "amphp/php-cs-fixer-config": "^2", "http2jp/hpack-test-case": "^1", - "nikic/php-fuzzer": "^0.0.10", + "nikic/php-fuzzer": "^0.0.11", "phpunit/phpunit": "^7 | ^8 | ^9" }, "type": "library", @@ -11422,7 +11069,7 @@ ], "support": { "issues": "https://github.com/amphp/hpack/issues", - "source": "https://github.com/amphp/hpack/tree/v3.2.1" + "source": "https://github.com/amphp/hpack/tree/v3.2.2" }, "funding": [ { @@ -11430,7 +11077,7 @@ "type": "github" } ], - "time": "2024-03-21T19:00:16+00:00" + "time": "2026-05-03T19:28:59+00:00" }, { "name": "amphp/http", @@ -11498,16 +11145,16 @@ }, { "name": "amphp/http-client", - "version": "v5.3.4", + "version": "v5.3.6", "source": { "type": "git", "url": "https://github.com/amphp/http-client.git", - "reference": "75ad21574fd632594a2dd914496647816d5106bc" + "reference": "ca155026acafa74a612d776a97202d53077fee86" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/amphp/http-client/zipball/75ad21574fd632594a2dd914496647816d5106bc", - "reference": "75ad21574fd632594a2dd914496647816d5106bc", + "url": "https://api.github.com/repos/amphp/http-client/zipball/ca155026acafa74a612d776a97202d53077fee86", + "reference": "ca155026acafa74a612d776a97202d53077fee86", "shasum": "" }, "require": { @@ -11535,9 +11182,8 @@ "amphp/phpunit-util": "^3", "ext-json": "*", "kelunik/link-header-rfc5988": "^1", - "laminas/laminas-diactoros": "^2.3", "phpunit/phpunit": "^9", - "psalm/phar": "~5.23" + "psalm/phar": "6.16.1" }, "suggest": { "amphp/file": "Required for file request bodies and HTTP archive logging", @@ -11584,7 +11230,7 @@ ], "support": { "issues": "https://github.com/amphp/http-client/issues", - "source": "https://github.com/amphp/http-client/tree/v5.3.4" + "source": "https://github.com/amphp/http-client/tree/v5.3.6" }, "funding": [ { @@ -11592,20 +11238,20 @@ "type": "github" } ], - "time": "2025-08-16T20:41:23+00:00" + "time": "2026-05-15T23:29:38+00:00" }, { "name": "amphp/http-server", - "version": "v3.4.4", + "version": "v3.4.5", "source": { "type": "git", "url": "https://github.com/amphp/http-server.git", - "reference": "8dc32cc6a65c12a3543276305796b993c56b76ef" + "reference": "ae0fd01e16aba336247852df0c3f8c649a31896d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/amphp/http-server/zipball/8dc32cc6a65c12a3543276305796b993c56b76ef", - "reference": "8dc32cc6a65c12a3543276305796b993c56b76ef", + "url": "https://api.github.com/repos/amphp/http-server/zipball/ae0fd01e16aba336247852df0c3f8c649a31896d", + "reference": "ae0fd01e16aba336247852df0c3f8c649a31896d", "shasum": "" }, "require": { @@ -11632,7 +11278,7 @@ "league/uri-components": "^7.1", "monolog/monolog": "^3", "phpunit/phpunit": "^9", - "psalm/phar": "~5.23" + "psalm/phar": "6.16.1" }, "suggest": { "ext-zlib": "Allows GZip compression of response bodies" @@ -11681,7 +11327,7 @@ ], "support": { "issues": "https://github.com/amphp/http-server/issues", - "source": "https://github.com/amphp/http-server/tree/v3.4.4" + "source": "https://github.com/amphp/http-server/tree/v3.4.5" }, "funding": [ { @@ -11689,7 +11335,7 @@ "type": "github" } ], - "time": "2026-02-08T18:16:29+00:00" + "time": "2026-05-01T03:55:07+00:00" }, { "name": "amphp/parser", @@ -11755,16 +11401,16 @@ }, { "name": "amphp/pipeline", - "version": "v1.2.3", + "version": "v1.2.4", "source": { "type": "git", "url": "https://github.com/amphp/pipeline.git", - "reference": "7b52598c2e9105ebcddf247fc523161581930367" + "reference": "a044733e080940d1483f56caff0c412ad6982776" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/amphp/pipeline/zipball/7b52598c2e9105ebcddf247fc523161581930367", - "reference": "7b52598c2e9105ebcddf247fc523161581930367", + "url": "https://api.github.com/repos/amphp/pipeline/zipball/a044733e080940d1483f56caff0c412ad6982776", + "reference": "a044733e080940d1483f56caff0c412ad6982776", "shasum": "" }, "require": { @@ -11776,7 +11422,7 @@ "amphp/php-cs-fixer-config": "^2", "amphp/phpunit-util": "^3", "phpunit/phpunit": "^9", - "psalm/phar": "^5.18" + "psalm/phar": "6.16.1" }, "type": "library", "autoload": { @@ -11810,7 +11456,7 @@ ], "support": { "issues": "https://github.com/amphp/pipeline/issues", - "source": "https://github.com/amphp/pipeline/tree/v1.2.3" + "source": "https://github.com/amphp/pipeline/tree/v1.2.4" }, "funding": [ { @@ -11818,20 +11464,20 @@ "type": "github" } ], - "time": "2025-03-16T16:33:53+00:00" + "time": "2026-05-06T05:37:57+00:00" }, { "name": "amphp/process", - "version": "v2.0.3", + "version": "v2.1.0", "source": { "type": "git", "url": "https://github.com/amphp/process.git", - "reference": "52e08c09dec7511d5fbc1fb00d3e4e79fc77d58d" + "reference": "583959df17d00304ad7b0b32285373f985935643" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/amphp/process/zipball/52e08c09dec7511d5fbc1fb00d3e4e79fc77d58d", - "reference": "52e08c09dec7511d5fbc1fb00d3e4e79fc77d58d", + "url": "https://api.github.com/repos/amphp/process/zipball/583959df17d00304ad7b0b32285373f985935643", + "reference": "583959df17d00304ad7b0b32285373f985935643", "shasum": "" }, "require": { @@ -11845,7 +11491,7 @@ "amphp/php-cs-fixer-config": "^2", "amphp/phpunit-util": "^3", "phpunit/phpunit": "^9", - "psalm/phar": "^5.4" + "psalm/phar": "6.16.1" }, "type": "library", "autoload": { @@ -11878,7 +11524,7 @@ "homepage": "https://amphp.org/process", "support": { "issues": "https://github.com/amphp/process/issues", - "source": "https://github.com/amphp/process/tree/v2.0.3" + "source": "https://github.com/amphp/process/tree/v2.1.0" }, "funding": [ { @@ -11886,28 +11532,31 @@ "type": "github" } ], - "time": "2024-04-19T03:13:44+00:00" + "time": "2026-05-31T15:11:55+00:00" }, { "name": "amphp/serialization", - "version": "v1.0.0", + "version": "v1.1.0", "source": { "type": "git", "url": "https://github.com/amphp/serialization.git", - "reference": "693e77b2fb0b266c3c7d622317f881de44ae94a1" + "reference": "fdf2834d78cebb0205fb2672676c1b1eb84371f0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/amphp/serialization/zipball/693e77b2fb0b266c3c7d622317f881de44ae94a1", - "reference": "693e77b2fb0b266c3c7d622317f881de44ae94a1", + "url": "https://api.github.com/repos/amphp/serialization/zipball/fdf2834d78cebb0205fb2672676c1b1eb84371f0", + "reference": "fdf2834d78cebb0205fb2672676c1b1eb84371f0", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.4" }, "require-dev": { - "amphp/php-cs-fixer-config": "dev-master", - "phpunit/phpunit": "^9 || ^8 || ^7" + "amphp/php-cs-fixer-config": "^2", + "ext-json": "*", + "ext-zlib": "*", + "phpunit/phpunit": "^9", + "psalm/phar": "6.16.1" }, "type": "library", "autoload": { @@ -11942,22 +11591,28 @@ ], "support": { "issues": "https://github.com/amphp/serialization/issues", - "source": "https://github.com/amphp/serialization/tree/master" + "source": "https://github.com/amphp/serialization/tree/v1.1.0" }, - "time": "2020-03-25T21:39:07+00:00" + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2026-04-05T15:59:53+00:00" }, { "name": "amphp/socket", - "version": "v2.3.1", + "version": "v2.4.0", "source": { "type": "git", "url": "https://github.com/amphp/socket.git", - "reference": "58e0422221825b79681b72c50c47a930be7bf1e1" + "reference": "dadb63c5d3179fd83803e29dfeac27350e619314" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/amphp/socket/zipball/58e0422221825b79681b72c50c47a930be7bf1e1", - "reference": "58e0422221825b79681b72c50c47a930be7bf1e1", + "url": "https://api.github.com/repos/amphp/socket/zipball/dadb63c5d3179fd83803e29dfeac27350e619314", + "reference": "dadb63c5d3179fd83803e29dfeac27350e619314", "shasum": "" }, "require": { @@ -11966,17 +11621,17 @@ "amphp/dns": "^2", "ext-openssl": "*", "kelunik/certificate": "^1.1", - "league/uri": "^6.5 | ^7", - "league/uri-interfaces": "^2.3 | ^7", + "league/uri": "^7", + "league/uri-interfaces": "^7", "php": ">=8.1", - "revolt/event-loop": "^1 || ^0.2" + "revolt/event-loop": "^1" }, "require-dev": { "amphp/php-cs-fixer-config": "^2", "amphp/phpunit-util": "^3", "amphp/process": "^2", "phpunit/phpunit": "^9", - "psalm/phar": "5.20" + "psalm/phar": "6.16.1" }, "type": "library", "autoload": { @@ -12020,7 +11675,7 @@ ], "support": { "issues": "https://github.com/amphp/socket/issues", - "source": "https://github.com/amphp/socket/tree/v2.3.1" + "source": "https://github.com/amphp/socket/tree/v2.4.0" }, "funding": [ { @@ -12028,7 +11683,7 @@ "type": "github" } ], - "time": "2024-04-21T14:33:03+00:00" + "time": "2026-04-19T15:09:56+00:00" }, { "name": "amphp/sync", @@ -12272,44 +11927,53 @@ }, { "name": "barryvdh/laravel-debugbar", - "version": "v3.16.1", + "version": "v4.3.0", "source": { "type": "git", - "url": "https://github.com/barryvdh/laravel-debugbar.git", - "reference": "21b2c6fce05453efd4bceb34f9fddaa1cdb44090" + "url": "https://github.com/fruitcake/laravel-debugbar.git", + "reference": "3d76ea8d78b82225b92789de65fc630c1cd8e80c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/21b2c6fce05453efd4bceb34f9fddaa1cdb44090", - "reference": "21b2c6fce05453efd4bceb34f9fddaa1cdb44090", + "url": "https://api.github.com/repos/fruitcake/laravel-debugbar/zipball/3d76ea8d78b82225b92789de65fc630c1cd8e80c", + "reference": "3d76ea8d78b82225b92789de65fc630c1cd8e80c", "shasum": "" }, "require": { - "illuminate/routing": "^10|^11|^12", - "illuminate/session": "^10|^11|^12", - "illuminate/support": "^10|^11|^12", - "php": "^8.1", - "php-debugbar/php-debugbar": "^2.2.4", - "symfony/finder": "^6|^7" + "illuminate/routing": "^11|^12|^13.0", + "illuminate/session": "^11|^12|^13.0", + "illuminate/support": "^11|^12|^13.0", + "php": "^8.2", + "php-debugbar/php-debugbar": "^3.7.2", + "php-debugbar/symfony-bridge": "^1.1" }, "require-dev": { + "larastan/larastan": "^3", + "laravel/octane": "^2", + "laravel/pennant": "^1", + "laravel/pint": "^1", + "laravel/telescope": "^5.16", + "livewire/livewire": "^3.7|^4", "mockery/mockery": "^1.3.3", - "orchestra/testbench-dusk": "^7|^8|^9|^10", - "phpunit/phpunit": "^9.5.10|^10|^11", - "squizlabs/php_codesniffer": "^3.5" + "orchestra/testbench-dusk": "^9|^10|^11", + "php-debugbar/twig-bridge": "^2.0", + "phpstan/phpstan-phpunit": "^2", + "phpstan/phpstan-strict-rules": "^2.0", + "phpunit/phpunit": "^11", + "shipmonk/phpstan-rules": "^4.3" }, "type": "library", "extra": { "laravel": { "aliases": { - "Debugbar": "Barryvdh\\Debugbar\\Facades\\Debugbar" + "Debugbar": "Fruitcake\\LaravelDebugbar\\Facades\\Debugbar" }, "providers": [ - "Barryvdh\\Debugbar\\ServiceProvider" + "Fruitcake\\LaravelDebugbar\\ServiceProvider" ] }, "branch-alias": { - "dev-master": "3.16-dev" + "dev-master": "4.2-dev" } }, "autoload": { @@ -12317,7 +11981,7 @@ "src/helpers.php" ], "psr-4": { - "Barryvdh\\Debugbar\\": "src/" + "Fruitcake\\LaravelDebugbar\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -12326,107 +11990,52 @@ ], "authors": [ { - "name": "Barry vd. Heuvel", - "email": "barryvdh@gmail.com" - } - ], - "description": "PHP Debugbar integration for Laravel", - "keywords": [ - "debug", - "debugbar", - "dev", - "laravel", - "profiler", - "webprofiler" - ], - "support": { - "issues": "https://github.com/barryvdh/laravel-debugbar/issues", - "source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.16.1" - }, - "funding": [ - { - "url": "https://fruitcake.nl", - "type": "custom" - }, - { - "url": "https://github.com/barryvdh", - "type": "github" - } - ], - "time": "2025-11-19T08:31:25+00:00" - }, - { - "name": "beyondcode/laravel-query-detector", - "version": "2.1.0", - "source": { - "type": "git", - "url": "https://github.com/beyondcode/laravel-query-detector.git", - "reference": "a489b427cb95fe06684770633630ea575944b8ba" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/beyondcode/laravel-query-detector/zipball/a489b427cb95fe06684770633630ea575944b8ba", - "reference": "a489b427cb95fe06684770633630ea575944b8ba", - "shasum": "" - }, - "require": { - "illuminate/support": "^5.5 || ^6.0 || ^7.0 || ^8.0 || ^9.0|^10.0 || ^11.0 || ^12.0", - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "laravel/legacy-factories": "^1.0", - "orchestra/testbench": "^3.0 || ^4.0 || ^5.0 || ^6.0|^8.0 || ^9.0 || ^10.0", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0 || ^10.5 || ^11.5.3" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "BeyondCode\\QueryDetector\\QueryDetectorServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "BeyondCode\\QueryDetector\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ + "name": "Fruitcake", + "homepage": "https://fruitcake.nl" + }, { - "name": "Marcel Pociot", - "email": "marcel@beyondco.de", - "homepage": "https://beyondcode.de", - "role": "Developer" + "name": "Barry vd. Heuvel", + "email": "barryvdh@gmail.com" } ], - "description": "Laravel N+1 Query Detector", - "homepage": "https://github.com/beyondcode/laravel-query-detector", + "description": "PHP Debugbar integration for Laravel", "keywords": [ - "beyondcode", - "laravel-query-detector" + "barryvdh", + "debug", + "debugbar", + "dev", + "laravel", + "profiler", + "webprofiler" ], "support": { - "issues": "https://github.com/beyondcode/laravel-query-detector/issues", - "source": "https://github.com/beyondcode/laravel-query-detector/tree/2.1.0" + "issues": "https://github.com/fruitcake/laravel-debugbar/issues", + "source": "https://github.com/fruitcake/laravel-debugbar/tree/v4.3.0" }, - "time": "2025-03-11T09:48:29+00:00" + "funding": [ + { + "url": "https://fruitcake.nl", + "type": "custom" + }, + { + "url": "https://github.com/barryvdh", + "type": "github" + } + ], + "time": "2026-06-04T07:54:01+00:00" }, { "name": "brianium/paratest", - "version": "v7.17.0", + "version": "v7.20.0", "source": { "type": "git", "url": "https://github.com/paratestphp/paratest.git", - "reference": "53cb90a6aa3ef3840458781600628ade058a18b9" + "reference": "81c80677c9ec0ed4ef16b246167f11dec81a6e3d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paratestphp/paratest/zipball/53cb90a6aa3ef3840458781600628ade058a18b9", - "reference": "53cb90a6aa3ef3840458781600628ade058a18b9", + "url": "https://api.github.com/repos/paratestphp/paratest/zipball/81c80677c9ec0ed4ef16b246167f11dec81a6e3d", + "reference": "81c80677c9ec0ed4ef16b246167f11dec81a6e3d", "shasum": "" }, "require": { @@ -12437,24 +12046,24 @@ "fidry/cpu-core-counter": "^1.3.0", "jean85/pretty-package-versions": "^2.1.1", "php": "~8.3.0 || ~8.4.0 || ~8.5.0", - "phpunit/php-code-coverage": "^12.5.2", - "phpunit/php-file-iterator": "^6", - "phpunit/php-timer": "^8", - "phpunit/phpunit": "^12.5.8", - "sebastian/environment": "^8.0.3", - "symfony/console": "^7.3.4 || ^8.0.0", - "symfony/process": "^7.3.4 || ^8.0.0" + "phpunit/php-code-coverage": "^12.5.3 || ^13.0.1", + "phpunit/php-file-iterator": "^6.0.1 || ^7", + "phpunit/php-timer": "^8 || ^9", + "phpunit/phpunit": "^12.5.14 || ^13.0.5", + "sebastian/environment": "^8.0.3 || ^9", + "symfony/console": "^7.4.7 || ^8.0.7", + "symfony/process": "^7.4.5 || ^8.0.5" }, "require-dev": { "doctrine/coding-standard": "^14.0.0", "ext-pcntl": "*", "ext-pcov": "*", "ext-posix": "*", - "phpstan/phpstan": "^2.1.38", - "phpstan/phpstan-deprecation-rules": "^2.0.3", - "phpstan/phpstan-phpunit": "^2.0.12", - "phpstan/phpstan-strict-rules": "^2.0.8", - "symfony/filesystem": "^7.3.2 || ^8.0.0" + "phpstan/phpstan": "^2.1.44", + "phpstan/phpstan-deprecation-rules": "^2.0.4", + "phpstan/phpstan-phpunit": "^2.0.16", + "phpstan/phpstan-strict-rules": "^2.0.10", + "symfony/filesystem": "^7.4.6 || ^8.0.6" }, "bin": [ "bin/paratest", @@ -12494,7 +12103,7 @@ ], "support": { "issues": "https://github.com/paratestphp/paratest/issues", - "source": "https://github.com/paratestphp/paratest/tree/v7.17.0" + "source": "https://github.com/paratestphp/paratest/tree/v7.20.0" }, "funding": [ { @@ -12506,7 +12115,73 @@ "type": "paypal" } ], - "time": "2026-02-05T09:14:44+00:00" + "time": "2026-03-29T15:46:14+00:00" + }, + { + "name": "composer/xdebug-handler", + "version": "3.0.5", + "source": { + "type": "git", + "url": "https://github.com/composer/xdebug-handler.git", + "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/6c1925561632e83d60a44492e0b344cf48ab85ef", + "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef", + "shasum": "" + }, + "require": { + "composer/pcre": "^1 || ^2 || ^3", + "php": "^7.2.5 || ^8.0", + "psr/log": "^1 || ^2 || ^3" + }, + "require-dev": { + "phpstan/phpstan": "^1.0", + "phpstan/phpstan-strict-rules": "^1.1", + "phpunit/phpunit": "^8.5 || ^9.6 || ^10.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Composer\\XdebugHandler\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "John Stevenson", + "email": "john-stevenson@blueyonder.co.uk" + } + ], + "description": "Restarts a process without Xdebug.", + "keywords": [ + "Xdebug", + "performance" + ], + "support": { + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/xdebug-handler/issues", + "source": "https://github.com/composer/xdebug-handler/tree/3.0.5" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2024-05-06T16:37:16+00:00" }, { "name": "daverandom/libdns", @@ -12552,6 +12227,54 @@ }, "time": "2024-04-12T12:12:48+00:00" }, + { + "name": "doctrine/deprecations", + "version": "1.1.6", + "source": { + "type": "git", + "url": "https://github.com/doctrine/deprecations.git", + "reference": "d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca", + "reference": "d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "conflict": { + "phpunit/phpunit": "<=7.5 || >=14" + }, + "require-dev": { + "doctrine/coding-standard": "^9 || ^12 || ^14", + "phpstan/phpstan": "1.4.10 || 2.1.30", + "phpstan/phpstan-phpunit": "^1.0 || ^2", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6 || ^10.5 || ^11.5 || ^12.4 || ^13.0", + "psr/log": "^1 || ^2 || ^3" + }, + "suggest": { + "psr/log": "Allows logging deprecations via PSR-3 logger implementation" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Deprecations\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", + "homepage": "https://www.doctrine-project.org/", + "support": { + "issues": "https://github.com/doctrine/deprecations/issues", + "source": "https://github.com/doctrine/deprecations/tree/1.1.6" + }, + "time": "2026-02-07T07:09:04+00:00" + }, { "name": "fidry/cpu-core-counter", "version": "1.3.0", @@ -12724,16 +12447,16 @@ }, { "name": "laravel/pint", - "version": "v1.26.0", + "version": "v1.29.1", "source": { "type": "git", "url": "https://github.com/laravel/pint.git", - "reference": "69dcca060ecb15e4b564af63d1f642c81a241d6f" + "reference": "0770e9b7fafd50d4586881d456d6eb41c9247a80" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/pint/zipball/69dcca060ecb15e4b564af63d1f642c81a241d6f", - "reference": "69dcca060ecb15e4b564af63d1f642c81a241d6f", + "url": "https://api.github.com/repos/laravel/pint/zipball/0770e9b7fafd50d4586881d456d6eb41c9247a80", + "reference": "0770e9b7fafd50d4586881d456d6eb41c9247a80", "shasum": "" }, "require": { @@ -12744,13 +12467,14 @@ "php": "^8.2.0" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^3.90.0", - "illuminate/view": "^12.40.1", - "larastan/larastan": "^3.8.0", - "laravel-zero/framework": "^12.0.4", + "friendsofphp/php-cs-fixer": "^3.95.1", + "illuminate/view": "^12.56.0", + "larastan/larastan": "^3.9.6", + "laravel-zero/framework": "^12.1.0", "mockery/mockery": "^1.6.12", - "nunomaduro/termwind": "^2.3.3", - "pestphp/pest": "^3.8.4" + "nunomaduro/termwind": "^2.4.0", + "pestphp/pest": "^3.8.6", + "shipfastlabs/agent-detector": "^1.1.3" }, "bin": [ "builds/pint" @@ -12787,37 +12511,37 @@ "issues": "https://github.com/laravel/pint/issues", "source": "https://github.com/laravel/pint" }, - "time": "2025-11-25T21:15:52+00:00" + "time": "2026-04-20T15:26:14+00:00" }, { "name": "laravel/tinker", - "version": "v2.10.2", + "version": "v3.0.2", "source": { "type": "git", "url": "https://github.com/laravel/tinker.git", - "reference": "3bcb5f62d6f837e0f093a601e26badafb127bd4c" + "reference": "4faba77764bd33411735936acdf30446d058c78b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/tinker/zipball/3bcb5f62d6f837e0f093a601e26badafb127bd4c", - "reference": "3bcb5f62d6f837e0f093a601e26badafb127bd4c", + "url": "https://api.github.com/repos/laravel/tinker/zipball/4faba77764bd33411735936acdf30446d058c78b", + "reference": "4faba77764bd33411735936acdf30446d058c78b", "shasum": "" }, "require": { - "illuminate/console": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", - "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", - "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", - "php": "^7.2.5|^8.0", - "psy/psysh": "^0.11.1|^0.12.0", - "symfony/var-dumper": "^4.3.4|^5.0|^6.0|^7.0" + "illuminate/console": "^8.0|^9.0|^10.0|^11.0|^12.0|^13.0", + "illuminate/contracts": "^8.0|^9.0|^10.0|^11.0|^12.0|^13.0", + "illuminate/support": "^8.0|^9.0|^10.0|^11.0|^12.0|^13.0", + "php": "^8.1", + "psy/psysh": "^0.12.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0|^8.0" }, "require-dev": { "mockery/mockery": "~1.3.3|^1.4.2", "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^8.5.8|^9.3.3|^10.0" + "phpunit/phpunit": "^10.5|^11.5" }, "suggest": { - "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0)." + "illuminate/database": "The Illuminate Database package (^8.0|^9.0|^10.0|^11.0|^12.0|^13.0)." }, "type": "library", "extra": { @@ -12825,6 +12549,9 @@ "providers": [ "Laravel\\Tinker\\TinkerServiceProvider" ] + }, + "branch-alias": { + "dev-master": "3.x-dev" } }, "autoload": { @@ -12851,26 +12578,26 @@ ], "support": { "issues": "https://github.com/laravel/tinker/issues", - "source": "https://github.com/laravel/tinker/tree/v2.10.2" + "source": "https://github.com/laravel/tinker/tree/v3.0.2" }, - "time": "2025-11-20T16:29:12+00:00" + "time": "2026-03-17T14:54:13+00:00" }, { "name": "league/uri-components", - "version": "7.8.0", + "version": "7.8.1", "source": { "type": "git", "url": "https://github.com/thephpleague/uri-components.git", - "reference": "8b5ffcebcc0842b76eb80964795bd56a8333b2ba" + "reference": "848ff9db2f0be06229d6034b7c2e33d41b4fd675" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/uri-components/zipball/8b5ffcebcc0842b76eb80964795bd56a8333b2ba", - "reference": "8b5ffcebcc0842b76eb80964795bd56a8333b2ba", + "url": "https://api.github.com/repos/thephpleague/uri-components/zipball/848ff9db2f0be06229d6034b7c2e33d41b4fd675", + "reference": "848ff9db2f0be06229d6034b7c2e33d41b4fd675", "shasum": "" }, "require": { - "league/uri": "^7.8", + "league/uri": "^7.8.1", "php": "^8.1" }, "suggest": { @@ -12929,7 +12656,7 @@ "docs": "https://uri.thephpleague.com", "forum": "https://thephpleague.slack.com", "issues": "https://github.com/thephpleague/uri-src/issues", - "source": "https://github.com/thephpleague/uri-components/tree/7.8.0" + "source": "https://github.com/thephpleague/uri-components/tree/7.8.1" }, "funding": [ { @@ -12937,7 +12664,7 @@ "type": "github" } ], - "time": "2026-01-14T17:24:56+00:00" + "time": "2026-03-15T20:22:25+00:00" }, { "name": "mockery/mockery", @@ -13084,41 +12811,43 @@ }, { "name": "pestphp/pest", - "version": "v4.3.2", + "version": "v4.7.0", "source": { "type": "git", "url": "https://github.com/pestphp/pest.git", - "reference": "3a4329ddc7a2b67c19fca8342a668b39be3ae398" + "reference": "2fc75cfcf03c041c804778fa894282234adc3c66" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest/zipball/3a4329ddc7a2b67c19fca8342a668b39be3ae398", - "reference": "3a4329ddc7a2b67c19fca8342a668b39be3ae398", + "url": "https://api.github.com/repos/pestphp/pest/zipball/2fc75cfcf03c041c804778fa894282234adc3c66", + "reference": "2fc75cfcf03c041c804778fa894282234adc3c66", "shasum": "" }, "require": { - "brianium/paratest": "^7.16.1", - "nunomaduro/collision": "^8.8.3", - "nunomaduro/termwind": "^2.3.3", + "brianium/paratest": "^7.20.0", + "composer/xdebug-handler": "^3.0.5", + "nunomaduro/collision": "^8.9.4", + "nunomaduro/termwind": "^2.4.0", "pestphp/pest-plugin": "^4.0.0", - "pestphp/pest-plugin-arch": "^4.0.0", + "pestphp/pest-plugin-arch": "^4.0.2", "pestphp/pest-plugin-mutate": "^4.0.1", "pestphp/pest-plugin-profanity": "^4.2.1", "php": "^8.3.0", - "phpunit/phpunit": "^12.5.8", - "symfony/process": "^7.4.4|^8.0.0" + "phpunit/phpunit": "^12.5.24", + "symfony/process": "^7.4.8|^8.0.8" }, "conflict": { "filp/whoops": "<2.18.3", - "phpunit/phpunit": ">12.5.8", + "phpunit/phpunit": ">12.5.24", "sebastian/exporter": "<7.0.0", "webmozart/assert": "<1.11.0" }, "require-dev": { - "pestphp/pest-dev-tools": "^4.0.0", - "pestphp/pest-plugin-browser": "^4.2.1", - "pestphp/pest-plugin-type-coverage": "^4.0.3", - "psy/psysh": "^0.12.18" + "mrpunyapal/peststan": "^0.2.9", + "pestphp/pest-dev-tools": "^4.1.0", + "pestphp/pest-plugin-browser": "^4.3.1", + "pestphp/pest-plugin-type-coverage": "^4.0.4", + "psy/psysh": "^0.12.22" }, "bin": [ "bin/pest" @@ -13145,6 +12874,7 @@ "Pest\\Plugins\\Verbose", "Pest\\Plugins\\Version", "Pest\\Plugins\\Shard", + "Pest\\Plugins\\Tia", "Pest\\Plugins\\Parallel" ] }, @@ -13184,7 +12914,7 @@ ], "support": { "issues": "https://github.com/pestphp/pest/issues", - "source": "https://github.com/pestphp/pest/tree/v4.3.2" + "source": "https://github.com/pestphp/pest/tree/v4.7.0" }, "funding": [ { @@ -13196,7 +12926,7 @@ "type": "github" } ], - "time": "2026-01-28T01:01:19+00:00" + "time": "2026-05-03T16:09:32+00:00" }, { "name": "pestphp/pest-plugin", @@ -13270,26 +13000,26 @@ }, { "name": "pestphp/pest-plugin-arch", - "version": "v4.0.0", + "version": "v4.0.2", "source": { "type": "git", "url": "https://github.com/pestphp/pest-plugin-arch.git", - "reference": "25bb17e37920ccc35cbbcda3b00d596aadf3e58d" + "reference": "3fb0d02a91b9da504b139dc7ab2a31efb7c3215c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest-plugin-arch/zipball/25bb17e37920ccc35cbbcda3b00d596aadf3e58d", - "reference": "25bb17e37920ccc35cbbcda3b00d596aadf3e58d", + "url": "https://api.github.com/repos/pestphp/pest-plugin-arch/zipball/3fb0d02a91b9da504b139dc7ab2a31efb7c3215c", + "reference": "3fb0d02a91b9da504b139dc7ab2a31efb7c3215c", "shasum": "" }, "require": { "pestphp/pest-plugin": "^4.0.0", "php": "^8.3", - "ta-tikoma/phpunit-architecture-test": "^0.8.5" + "ta-tikoma/phpunit-architecture-test": "^0.8.7" }, "require-dev": { - "pestphp/pest": "^4.0.0", - "pestphp/pest-dev-tools": "^4.0.0" + "pestphp/pest": "^4.4.6", + "pestphp/pest-dev-tools": "^4.1.0" }, "type": "library", "extra": { @@ -13324,7 +13054,7 @@ "unit" ], "support": { - "source": "https://github.com/pestphp/pest-plugin-arch/tree/v4.0.0" + "source": "https://github.com/pestphp/pest-plugin-arch/tree/v4.0.2" }, "funding": [ { @@ -13336,41 +13066,41 @@ "type": "github" } ], - "time": "2025-08-20T13:10:51+00:00" + "time": "2026-04-10T17:20:19+00:00" }, { "name": "pestphp/pest-plugin-browser", - "version": "v4.1.1", + "version": "v4.3.1", "source": { "type": "git", "url": "https://github.com/pestphp/pest-plugin-browser.git", - "reference": "da70fce21e4b33ba22bef1276f654e77676213d7" + "reference": "b6e76d3e4a2f81da9f050ec54be2a29b402287c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest-plugin-browser/zipball/da70fce21e4b33ba22bef1276f654e77676213d7", - "reference": "da70fce21e4b33ba22bef1276f654e77676213d7", + "url": "https://api.github.com/repos/pestphp/pest-plugin-browser/zipball/b6e76d3e4a2f81da9f050ec54be2a29b402287c4", + "reference": "b6e76d3e4a2f81da9f050ec54be2a29b402287c4", "shasum": "" }, "require": { "amphp/amp": "^3.1.1", - "amphp/http-server": "^3.4.3", + "amphp/http-server": "^3.4.4", "amphp/websocket-client": "^2.0.2", "ext-sockets": "*", - "pestphp/pest": "^4.1.0", + "pestphp/pest": "^4.4.5", "pestphp/pest-plugin": "^4.0.0", "php": "^8.3", - "symfony/process": "^7.3.4" + "symfony/process": "^7.4.8|^8.0.5" }, "require-dev": { "ext-pcntl": "*", "ext-posix": "*", - "livewire/livewire": "^3.6.4", - "nunomaduro/collision": "^8.8.2", - "orchestra/testbench": "^10.6.0", - "pestphp/pest-dev-tools": "^4.0.0", - "pestphp/pest-plugin-laravel": "^4.0", - "pestphp/pest-plugin-type-coverage": "^4.0.2" + "livewire/livewire": "^3.7.15", + "nunomaduro/collision": "^8.9.3", + "orchestra/testbench": "^10.11.0", + "pestphp/pest-dev-tools": "^4.1.0", + "pestphp/pest-plugin-laravel": "^4.1", + "pestphp/pest-plugin-type-coverage": "^4.0.4" }, "type": "library", "extra": { @@ -13403,7 +13133,7 @@ "unit" ], "support": { - "source": "https://github.com/pestphp/pest-plugin-browser/tree/v4.1.1" + "source": "https://github.com/pestphp/pest-plugin-browser/tree/v4.3.1" }, "funding": [ { @@ -13419,31 +13149,31 @@ "type": "patreon" } ], - "time": "2025-09-29T01:31:33+00:00" + "time": "2026-04-08T21:04:12+00:00" }, { "name": "pestphp/pest-plugin-laravel", - "version": "v4.0.0", + "version": "v4.1.0", "source": { "type": "git", "url": "https://github.com/pestphp/pest-plugin-laravel.git", - "reference": "e12a07046b826a40b1c8632fd7b80d6b8d7b628e" + "reference": "3057a36669ff11416cc0dc2b521b3aec58c488d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest-plugin-laravel/zipball/e12a07046b826a40b1c8632fd7b80d6b8d7b628e", - "reference": "e12a07046b826a40b1c8632fd7b80d6b8d7b628e", + "url": "https://api.github.com/repos/pestphp/pest-plugin-laravel/zipball/3057a36669ff11416cc0dc2b521b3aec58c488d0", + "reference": "3057a36669ff11416cc0dc2b521b3aec58c488d0", "shasum": "" }, "require": { - "laravel/framework": "^11.45.2|^12.25.0", - "pestphp/pest": "^4.0.0", + "laravel/framework": "^11.45.2|^12.52.0|^13.0", + "pestphp/pest": "^4.4.1", "php": "^8.3.0" }, "require-dev": { - "laravel/dusk": "^8.3.3", - "orchestra/testbench": "^9.13.0|^10.5.0", - "pestphp/pest-dev-tools": "^4.0.0" + "laravel/dusk": "^8.3.6", + "orchestra/testbench": "^9.13.0|^10.9.0|^11.0", + "pestphp/pest-dev-tools": "^4.1.0" }, "type": "library", "extra": { @@ -13481,7 +13211,7 @@ "unit" ], "support": { - "source": "https://github.com/pestphp/pest-plugin-laravel/tree/v4.0.0" + "source": "https://github.com/pestphp/pest-plugin-laravel/tree/v4.1.0" }, "funding": [ { @@ -13493,7 +13223,7 @@ "type": "github" } ], - "time": "2025-08-20T12:46:37+00:00" + "time": "2026-02-21T00:29:45+00:00" }, { "name": "pestphp/pest-plugin-mutate", @@ -13747,46 +13477,63 @@ }, { "name": "php-debugbar/php-debugbar", - "version": "v2.2.4", + "version": "v3.7.6", "source": { "type": "git", "url": "https://github.com/php-debugbar/php-debugbar.git", - "reference": "3146d04671f51f69ffec2a4207ac3bdcf13a9f35" + "reference": "1690ee1728827f9deb4b60457fa387cf44672c56" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-debugbar/php-debugbar/zipball/3146d04671f51f69ffec2a4207ac3bdcf13a9f35", - "reference": "3146d04671f51f69ffec2a4207ac3bdcf13a9f35", + "url": "https://api.github.com/repos/php-debugbar/php-debugbar/zipball/1690ee1728827f9deb4b60457fa387cf44672c56", + "reference": "1690ee1728827f9deb4b60457fa387cf44672c56", "shasum": "" }, "require": { - "php": "^8", + "php": "^8.2", "psr/log": "^1|^2|^3", - "symfony/var-dumper": "^4|^5|^6|^7" + "symfony/var-dumper": "^5.4|^6|^7|^8" }, "replace": { "maximebf/debugbar": "self.version" }, "require-dev": { - "dbrekelmans/bdi": "^1", - "phpunit/phpunit": "^8|^9", + "dbrekelmans/bdi": "^1.4", + "friendsofphp/php-cs-fixer": "^3.92", + "monolog/monolog": "^3.9", + "php-debugbar/doctrine-bridge": "^3@dev", + "php-debugbar/monolog-bridge": "^1@dev", + "php-debugbar/symfony-bridge": "^1@dev", + "php-debugbar/twig-bridge": "^2@dev", + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-phpunit": "^2.0", + "phpstan/phpstan-strict-rules": "^2.0", + "phpunit/phpunit": "^10", + "predis/predis": "^3.3", + "shipmonk/phpstan-rules": "^4.3", + "symfony/browser-kit": "^6.4|7.0", + "symfony/dom-crawler": "^6.4|^7", + "symfony/event-dispatcher": "^5.4|^6.4|^7.3|^8.0", + "symfony/http-foundation": "^5.4|^6.4|^7.3|^8.0", + "symfony/mailer": "^5.4|^6.4|^7.3|^8.0", "symfony/panther": "^1|^2.1", - "twig/twig": "^1.38|^2.7|^3.0" + "twig/twig": "^3.11.2" }, "suggest": { - "kriswallsmith/assetic": "The best way to manage assets", - "monolog/monolog": "Log using Monolog", - "predis/predis": "Redis storage" + "php-debugbar/doctrine-bridge": "To integrate Doctrine with php-debugbar.", + "php-debugbar/monolog-bridge": "To integrate Monolog with php-debugbar.", + "php-debugbar/symfony-bridge": "To integrate Symfony with php-debugbar.", + "php-debugbar/twig-bridge": "To integrate Twig with php-debugbar." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1-dev" + "dev-master": "3.0-dev" } }, "autoload": { "psr-4": { - "DebugBar\\": "src/DebugBar/" + "DebugBar\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -13810,13 +13557,91 @@ "debug", "debug bar", "debugbar", - "dev" + "dev", + "profiler", + "toolbar" ], "support": { "issues": "https://github.com/php-debugbar/php-debugbar/issues", - "source": "https://github.com/php-debugbar/php-debugbar/tree/v2.2.4" + "source": "https://github.com/php-debugbar/php-debugbar/tree/v3.7.6" + }, + "funding": [ + { + "url": "https://fruitcake.nl", + "type": "custom" + }, + { + "url": "https://github.com/barryvdh", + "type": "github" + } + ], + "time": "2026-04-30T07:31:44+00:00" + }, + { + "name": "php-debugbar/symfony-bridge", + "version": "v1.1.0", + "source": { + "type": "git", + "url": "https://github.com/php-debugbar/symfony-bridge.git", + "reference": "e37d2debe5d316408b00d0ab2688d9c2cf59b5ad" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-debugbar/symfony-bridge/zipball/e37d2debe5d316408b00d0ab2688d9c2cf59b5ad", + "reference": "e37d2debe5d316408b00d0ab2688d9c2cf59b5ad", + "shasum": "" + }, + "require": { + "php": "^8.2", + "php-debugbar/php-debugbar": "^3.1", + "symfony/http-foundation": "^5.4|^6.4|^7.3|^8.0" + }, + "require-dev": { + "dbrekelmans/bdi": "^1.4", + "phpunit/phpunit": "^10", + "symfony/browser-kit": "^6|^7", + "symfony/dom-crawler": "^6|^7", + "symfony/mailer": "^5.4|^6.4|^7.3|^8.0", + "symfony/panther": "^1|^2.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "DebugBar\\Bridge\\Symfony\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Maxime Bouroumeau-Fuseau", + "email": "maxime.bouroumeau@gmail.com", + "homepage": "http://maximebf.com" + }, + { + "name": "Barry vd. Heuvel", + "email": "barryvdh@gmail.com" + } + ], + "description": "Symfony bridge for PHP Debugbar", + "homepage": "https://github.com/php-debugbar/php-debugbar", + "keywords": [ + "debugbar", + "dev", + "symfony" + ], + "support": { + "issues": "https://github.com/php-debugbar/symfony-bridge/issues", + "source": "https://github.com/php-debugbar/symfony-bridge/tree/v1.1.0" }, - "time": "2025-07-22T14:01:30+00:00" + "time": "2026-01-15T14:47:34+00:00" }, { "name": "phpdocumentor/reflection-common", @@ -13873,16 +13698,16 @@ }, { "name": "phpdocumentor/reflection-docblock", - "version": "6.0.1", + "version": "6.0.3", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "2f5cbed597cb261d1ea458f3da3a9ad32e670b1e" + "reference": "7bae67520aa9f5ecc506d646810bd40d9da54582" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/2f5cbed597cb261d1ea458f3da3a9ad32e670b1e", - "reference": "2f5cbed597cb261d1ea458f3da3a9ad32e670b1e", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/7bae67520aa9f5ecc506d646810bd40d9da54582", + "reference": "7bae67520aa9f5ecc506d646810bd40d9da54582", "shasum": "" }, "require": { @@ -13932,9 +13757,9 @@ "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", "support": { "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", - "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/6.0.1" + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/6.0.3" }, - "time": "2026-01-20T15:30:42+00:00" + "time": "2026-03-18T20:49:53+00:00" }, { "name": "phpdocumentor/type-resolver", @@ -14043,16 +13868,16 @@ }, { "name": "phpunit/php-code-coverage", - "version": "12.5.3", + "version": "12.5.7", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "b015312f28dd75b75d3422ca37dff2cd1a565e8d" + "reference": "186dab580576598076de6818596d12b61801880e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/b015312f28dd75b75d3422ca37dff2cd1a565e8d", - "reference": "b015312f28dd75b75d3422ca37dff2cd1a565e8d", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/186dab580576598076de6818596d12b61801880e", + "reference": "186dab580576598076de6818596d12b61801880e", "shasum": "" }, "require": { @@ -14061,16 +13886,15 @@ "ext-xmlwriter": "*", "nikic/php-parser": "^5.7.0", "php": ">=8.3", - "phpunit/php-file-iterator": "^6.0", "phpunit/php-text-template": "^5.0", "sebastian/complexity": "^5.0", - "sebastian/environment": "^8.0.3", - "sebastian/lines-of-code": "^4.0", + "sebastian/environment": "^8.1.2", + "sebastian/lines-of-code": "^4.0.1", "sebastian/version": "^6.0", "theseer/tokenizer": "^2.0.1" }, "require-dev": { - "phpunit/phpunit": "^12.5.1" + "phpunit/phpunit": "^12.5.28" }, "suggest": { "ext-pcov": "PHP extension that provides line coverage", @@ -14108,7 +13932,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/12.5.3" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/12.5.7" }, "funding": [ { @@ -14128,7 +13952,7 @@ "type": "tidelift" } ], - "time": "2026-02-06T06:01:44+00:00" + "time": "2026-06-01T13:24:19+00:00" }, { "name": "phpunit/php-file-iterator", @@ -14389,16 +14213,16 @@ }, { "name": "phpunit/phpunit", - "version": "12.5.8", + "version": "12.5.24", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "37ddb96c14bfee10304825edbb7e66d341ec6889" + "reference": "d75dd30597caa80e72fad2ef7904601a30ef1046" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/37ddb96c14bfee10304825edbb7e66d341ec6889", - "reference": "37ddb96c14bfee10304825edbb7e66d341ec6889", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/d75dd30597caa80e72fad2ef7904601a30ef1046", + "reference": "d75dd30597caa80e72fad2ef7904601a30ef1046", "shasum": "" }, "require": { @@ -14412,18 +14236,19 @@ "phar-io/manifest": "^2.0.4", "phar-io/version": "^3.2.1", "php": ">=8.3", - "phpunit/php-code-coverage": "^12.5.2", - "phpunit/php-file-iterator": "^6.0.0", + "phpunit/php-code-coverage": "^12.5.6", + "phpunit/php-file-iterator": "^6.0.1", "phpunit/php-invoker": "^6.0.0", "phpunit/php-text-template": "^5.0.0", "phpunit/php-timer": "^8.0.0", "sebastian/cli-parser": "^4.2.0", - "sebastian/comparator": "^7.1.4", + "sebastian/comparator": "^7.1.6", "sebastian/diff": "^7.0.0", - "sebastian/environment": "^8.0.3", + "sebastian/environment": "^8.1.0", "sebastian/exporter": "^7.0.2", "sebastian/global-state": "^8.0.2", "sebastian/object-enumerator": "^7.0.0", + "sebastian/recursion-context": "^7.0.1", "sebastian/type": "^6.0.3", "sebastian/version": "^6.0.0", "staabm/side-effects-detector": "^1.0.5" @@ -14466,44 +14291,28 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/12.5.8" + "source": "https://github.com/sebastianbergmann/phpunit/tree/12.5.24" }, "funding": [ { - "url": "https://phpunit.de/sponsors.html", - "type": "custom" - }, - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", - "type": "tidelift" + "url": "https://phpunit.de/sponsoring.html", + "type": "other" } ], - "time": "2026-01-27T06:12:29+00:00" + "time": "2026-05-01T04:21:04+00:00" }, { "name": "psy/psysh", - "version": "v0.12.19", + "version": "v0.12.23", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "a4f766e5c5b6773d8399711019bb7d90875a50ee" + "reference": "4dcc0f08047d52bbde475eda481146fd8e27e1a4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/a4f766e5c5b6773d8399711019bb7d90875a50ee", - "reference": "a4f766e5c5b6773d8399711019bb7d90875a50ee", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/4dcc0f08047d52bbde475eda481146fd8e27e1a4", + "reference": "4dcc0f08047d52bbde475eda481146fd8e27e1a4", "shasum": "" }, "require": { @@ -14567,22 +14376,22 @@ ], "support": { "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.12.19" + "source": "https://github.com/bobthecow/psysh/tree/v0.12.23" }, - "time": "2026-01-30T17:33:13+00:00" + "time": "2026-05-23T13:41:31+00:00" }, { "name": "revolt/event-loop", - "version": "v1.0.8", + "version": "v1.0.9", "source": { "type": "git", "url": "https://github.com/revoltphp/event-loop.git", - "reference": "b6fc06dce8e9b523c9946138fa5e62181934f91c" + "reference": "44061cf513e53c6200372fc935ac42271566295d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/revoltphp/event-loop/zipball/b6fc06dce8e9b523c9946138fa5e62181934f91c", - "reference": "b6fc06dce8e9b523c9946138fa5e62181934f91c", + "url": "https://api.github.com/repos/revoltphp/event-loop/zipball/44061cf513e53c6200372fc935ac42271566295d", + "reference": "44061cf513e53c6200372fc935ac42271566295d", "shasum": "" }, "require": { @@ -14592,7 +14401,7 @@ "ext-json": "*", "jetbrains/phpstorm-stubs": "^2019.3", "phpunit/phpunit": "^9", - "psalm/phar": "^5.15" + "psalm/phar": "6.16.*" }, "type": "library", "extra": { @@ -14639,29 +14448,29 @@ ], "support": { "issues": "https://github.com/revoltphp/event-loop/issues", - "source": "https://github.com/revoltphp/event-loop/tree/v1.0.8" + "source": "https://github.com/revoltphp/event-loop/tree/v1.0.9" }, - "time": "2025-08-27T21:33:23+00:00" + "time": "2026-05-16T17:55:38+00:00" }, { "name": "sebastian/cli-parser", - "version": "4.2.0", + "version": "4.2.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "90f41072d220e5c40df6e8635f5dafba2d9d4d04" + "reference": "7d05781b13f7dec9043a629a21d086ed74582a15" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/90f41072d220e5c40df6e8635f5dafba2d9d4d04", - "reference": "90f41072d220e5c40df6e8635f5dafba2d9d4d04", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/7d05781b13f7dec9043a629a21d086ed74582a15", + "reference": "7d05781b13f7dec9043a629a21d086ed74582a15", "shasum": "" }, "require": { "php": ">=8.3" }, "require-dev": { - "phpunit/phpunit": "^12.0" + "phpunit/phpunit": "^12.5.25" }, "type": "library", "extra": { @@ -14690,7 +14499,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/cli-parser/issues", "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/4.2.0" + "source": "https://github.com/sebastianbergmann/cli-parser/tree/4.2.1" }, "funding": [ { @@ -14710,20 +14519,20 @@ "type": "tidelift" } ], - "time": "2025-09-14T09:36:45+00:00" + "time": "2026-05-17T05:29:34+00:00" }, { "name": "sebastian/comparator", - "version": "7.1.4", + "version": "7.1.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "6a7de5df2e094f9a80b40a522391a7e6022df5f6" + "reference": "7c65c1e79836812819705b473a90c12399542485" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/6a7de5df2e094f9a80b40a522391a7e6022df5f6", - "reference": "6a7de5df2e094f9a80b40a522391a7e6022df5f6", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/7c65c1e79836812819705b473a90c12399542485", + "reference": "7c65c1e79836812819705b473a90c12399542485", "shasum": "" }, "require": { @@ -14731,10 +14540,10 @@ "ext-mbstring": "*", "php": ">=8.3", "sebastian/diff": "^7.0", - "sebastian/exporter": "^7.0" + "sebastian/exporter": "^7.0.3" }, "require-dev": { - "phpunit/phpunit": "^12.2" + "phpunit/phpunit": "^12.5.25" }, "suggest": { "ext-bcmath": "For comparing BcMath\\Number objects" @@ -14782,7 +14591,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/7.1.4" + "source": "https://github.com/sebastianbergmann/comparator/tree/7.1.8" }, "funding": [ { @@ -14802,7 +14611,7 @@ "type": "tidelift" } ], - "time": "2026-01-24T09:28:48+00:00" + "time": "2026-05-21T04:45:25+00:00" }, { "name": "sebastian/complexity", @@ -14931,23 +14740,23 @@ }, { "name": "sebastian/environment", - "version": "8.0.3", + "version": "8.1.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "24a711b5c916efc6d6e62aa65aa2ec98fef77f68" + "reference": "9d32c685773823b1983e256ae4ecd48a10d6e439" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/24a711b5c916efc6d6e62aa65aa2ec98fef77f68", - "reference": "24a711b5c916efc6d6e62aa65aa2ec98fef77f68", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/9d32c685773823b1983e256ae4ecd48a10d6e439", + "reference": "9d32c685773823b1983e256ae4ecd48a10d6e439", "shasum": "" }, "require": { "php": ">=8.3" }, "require-dev": { - "phpunit/phpunit": "^12.0" + "phpunit/phpunit": "^12.5.26" }, "suggest": { "ext-posix": "*" @@ -14955,7 +14764,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "8.0-dev" + "dev-main": "8.1-dev" } }, "autoload": { @@ -14983,7 +14792,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", "security": "https://github.com/sebastianbergmann/environment/security/policy", - "source": "https://github.com/sebastianbergmann/environment/tree/8.0.3" + "source": "https://github.com/sebastianbergmann/environment/tree/8.1.2" }, "funding": [ { @@ -15003,29 +14812,29 @@ "type": "tidelift" } ], - "time": "2025-08-12T14:11:56+00:00" + "time": "2026-05-25T13:40:20+00:00" }, { "name": "sebastian/exporter", - "version": "7.0.2", + "version": "7.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "016951ae10980765e4e7aee491eb288c64e505b7" + "reference": "c5e21b5de653ce0a769fb36f5cdfcb5e7a32cf23" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/016951ae10980765e4e7aee491eb288c64e505b7", - "reference": "016951ae10980765e4e7aee491eb288c64e505b7", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/c5e21b5de653ce0a769fb36f5cdfcb5e7a32cf23", + "reference": "c5e21b5de653ce0a769fb36f5cdfcb5e7a32cf23", "shasum": "" }, "require": { "ext-mbstring": "*", "php": ">=8.3", - "sebastian/recursion-context": "^7.0" + "sebastian/recursion-context": "^7.0.1" }, "require-dev": { - "phpunit/phpunit": "^12.0" + "phpunit/phpunit": "^12.5.25" }, "type": "library", "extra": { @@ -15073,7 +14882,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", "security": "https://github.com/sebastianbergmann/exporter/security/policy", - "source": "https://github.com/sebastianbergmann/exporter/tree/7.0.2" + "source": "https://github.com/sebastianbergmann/exporter/tree/7.0.3" }, "funding": [ { @@ -15093,30 +14902,30 @@ "type": "tidelift" } ], - "time": "2025-09-24T06:16:11+00:00" + "time": "2026-05-20T04:37:17+00:00" }, { "name": "sebastian/global-state", - "version": "8.0.2", + "version": "8.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "ef1377171613d09edd25b7816f05be8313f9115d" + "reference": "b164d3274d6537ab462591c5755f76a8f5b1aae9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/ef1377171613d09edd25b7816f05be8313f9115d", - "reference": "ef1377171613d09edd25b7816f05be8313f9115d", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/b164d3274d6537ab462591c5755f76a8f5b1aae9", + "reference": "b164d3274d6537ab462591c5755f76a8f5b1aae9", "shasum": "" }, "require": { "php": ">=8.3", "sebastian/object-reflector": "^5.0", - "sebastian/recursion-context": "^7.0" + "sebastian/recursion-context": "^7.0.1" }, "require-dev": { "ext-dom": "*", - "phpunit/phpunit": "^12.0" + "phpunit/phpunit": "^12.5.28" }, "type": "library", "extra": { @@ -15147,7 +14956,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", "security": "https://github.com/sebastianbergmann/global-state/security/policy", - "source": "https://github.com/sebastianbergmann/global-state/tree/8.0.2" + "source": "https://github.com/sebastianbergmann/global-state/tree/8.0.3" }, "funding": [ { @@ -15167,28 +14976,28 @@ "type": "tidelift" } ], - "time": "2025-08-29T11:29:25+00:00" + "time": "2026-06-01T15:10:33+00:00" }, { "name": "sebastian/lines-of-code", - "version": "4.0.0", + "version": "4.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "97ffee3bcfb5805568d6af7f0f893678fc076d2f" + "reference": "d543b8ef219dcd8da262cbb958639a96bedba10e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/97ffee3bcfb5805568d6af7f0f893678fc076d2f", - "reference": "97ffee3bcfb5805568d6af7f0f893678fc076d2f", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/d543b8ef219dcd8da262cbb958639a96bedba10e", + "reference": "d543b8ef219dcd8da262cbb958639a96bedba10e", "shasum": "" }, "require": { - "nikic/php-parser": "^5.0", + "nikic/php-parser": "^5.7.0", "php": ">=8.3" }, "require-dev": { - "phpunit/phpunit": "^12.0" + "phpunit/phpunit": "^12.5.25" }, "type": "library", "extra": { @@ -15217,15 +15026,27 @@ "support": { "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/4.0.0" + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/4.0.1" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/lines-of-code", + "type": "tidelift" } ], - "time": "2025-02-07T04:57:28+00:00" + "time": "2026-05-19T16:22:07+00:00" }, { "name": "sebastian/object-enumerator", @@ -15419,23 +15240,23 @@ }, { "name": "sebastian/type", - "version": "6.0.3", + "version": "6.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/type.git", - "reference": "e549163b9760b8f71f191651d22acf32d56d6d4d" + "reference": "82ff822c2edc46724be9f7411d3163021f602773" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/e549163b9760b8f71f191651d22acf32d56d6d4d", - "reference": "e549163b9760b8f71f191651d22acf32d56d6d4d", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/82ff822c2edc46724be9f7411d3163021f602773", + "reference": "82ff822c2edc46724be9f7411d3163021f602773", "shasum": "" }, "require": { "php": ">=8.3" }, "require-dev": { - "phpunit/phpunit": "^12.0" + "phpunit/phpunit": "^12.5.25" }, "type": "library", "extra": { @@ -15464,7 +15285,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/type/issues", "security": "https://github.com/sebastianbergmann/type/security/policy", - "source": "https://github.com/sebastianbergmann/type/tree/6.0.3" + "source": "https://github.com/sebastianbergmann/type/tree/6.0.4" }, "funding": [ { @@ -15484,7 +15305,7 @@ "type": "tidelift" } ], - "time": "2025-08-09T06:57:12+00:00" + "time": "2026-05-20T06:45:45+00:00" }, { "name": "sebastian/version", @@ -15542,16 +15363,16 @@ }, { "name": "spatie/backtrace", - "version": "1.8.1", + "version": "1.8.2", "source": { "type": "git", "url": "https://github.com/spatie/backtrace.git", - "reference": "8c0f16a59ae35ec8c62d85c3c17585158f430110" + "reference": "8ffe78be5ed355b5009e3dd989d183433e9a5adc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/backtrace/zipball/8c0f16a59ae35ec8c62d85c3c17585158f430110", - "reference": "8c0f16a59ae35ec8c62d85c3c17585158f430110", + "url": "https://api.github.com/repos/spatie/backtrace/zipball/8ffe78be5ed355b5009e3dd989d183433e9a5adc", + "reference": "8ffe78be5ed355b5009e3dd989d183433e9a5adc", "shasum": "" }, "require": { @@ -15562,7 +15383,7 @@ "laravel/serializable-closure": "^1.3 || ^2.0", "phpunit/phpunit": "^9.3 || ^11.4.3", "spatie/phpunit-snapshot-assertions": "^4.2 || ^5.1.6", - "symfony/var-dumper": "^5.1 || ^6.0 || ^7.0" + "symfony/var-dumper": "^5.1|^6.0|^7.0|^8.0" }, "type": "library", "autoload": { @@ -15590,7 +15411,7 @@ ], "support": { "issues": "https://github.com/spatie/backtrace/issues", - "source": "https://github.com/spatie/backtrace/tree/1.8.1" + "source": "https://github.com/spatie/backtrace/tree/1.8.2" }, "funding": [ { @@ -15602,7 +15423,7 @@ "type": "other" } ], - "time": "2025-08-26T08:22:30+00:00" + "time": "2026-03-11T13:48:28+00:00" }, { "name": "spatie/error-solutions", @@ -15680,26 +15501,26 @@ }, { "name": "spatie/flare-client-php", - "version": "1.10.1", + "version": "1.11.1", "source": { "type": "git", "url": "https://github.com/spatie/flare-client-php.git", - "reference": "bf1716eb98bd689451b071548ae9e70738dce62f" + "reference": "53f41b08a27cc039e1a8ed2be9a202e924f31bad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/bf1716eb98bd689451b071548ae9e70738dce62f", - "reference": "bf1716eb98bd689451b071548ae9e70738dce62f", + "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/53f41b08a27cc039e1a8ed2be9a202e924f31bad", + "reference": "53f41b08a27cc039e1a8ed2be9a202e924f31bad", "shasum": "" }, "require": { - "illuminate/pipeline": "^8.0|^9.0|^10.0|^11.0|^12.0", + "illuminate/pipeline": "^8.0|^9.0|^10.0|^11.0|^12.0|^13.0", "php": "^8.0", "spatie/backtrace": "^1.6.1", - "symfony/http-foundation": "^5.2|^6.0|^7.0", - "symfony/mime": "^5.2|^6.0|^7.0", - "symfony/process": "^5.2|^6.0|^7.0", - "symfony/var-dumper": "^5.2|^6.0|^7.0" + "symfony/http-foundation": "^5.2|^6.0|^7.0|^8.0", + "symfony/mime": "^5.2|^6.0|^7.0|^8.0", + "symfony/process": "^5.2|^6.0|^7.0|^8.0", + "symfony/var-dumper": "^5.2|^6.0|^7.0|^8.0" }, "require-dev": { "dms/phpunit-arraysubset-asserts": "^0.5.0", @@ -15737,7 +15558,7 @@ ], "support": { "issues": "https://github.com/spatie/flare-client-php/issues", - "source": "https://github.com/spatie/flare-client-php/tree/1.10.1" + "source": "https://github.com/spatie/flare-client-php/tree/1.11.1" }, "funding": [ { @@ -15745,41 +15566,44 @@ "type": "github" } ], - "time": "2025-02-14T13:42:06+00:00" + "time": "2026-05-15T09:31:32+00:00" }, { "name": "spatie/ignition", - "version": "1.15.1", + "version": "1.16.0", "source": { "type": "git", "url": "https://github.com/spatie/ignition.git", - "reference": "31f314153020aee5af3537e507fef892ffbf8c85" + "reference": "b59385bb7aa24dae81bcc15850ebecfda7b40838" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/ignition/zipball/31f314153020aee5af3537e507fef892ffbf8c85", - "reference": "31f314153020aee5af3537e507fef892ffbf8c85", + "url": "https://api.github.com/repos/spatie/ignition/zipball/b59385bb7aa24dae81bcc15850ebecfda7b40838", + "reference": "b59385bb7aa24dae81bcc15850ebecfda7b40838", "shasum": "" }, "require": { "ext-json": "*", "ext-mbstring": "*", "php": "^8.0", - "spatie/error-solutions": "^1.0", - "spatie/flare-client-php": "^1.7", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0" + "spatie/backtrace": "^1.7.1", + "spatie/error-solutions": "^1.1.2", + "spatie/flare-client-php": "^1.9", + "symfony/console": "^5.4.42|^6.0|^7.0|^8.0", + "symfony/http-foundation": "^5.4.42|^6.0|^7.0|^8.0", + "symfony/mime": "^5.4.42|^6.0|^7.0|^8.0", + "symfony/var-dumper": "^5.4.42|^6.0|^7.0|^8.0" }, "require-dev": { - "illuminate/cache": "^9.52|^10.0|^11.0|^12.0", + "illuminate/cache": "^9.52|^10.0|^11.0|^12.0|^13.0", "mockery/mockery": "^1.4", - "pestphp/pest": "^1.20|^2.0", + "pestphp/pest": "^1.20|^2.0|^3.0", "phpstan/extension-installer": "^1.1", "phpstan/phpstan-deprecation-rules": "^1.0", "phpstan/phpstan-phpunit": "^1.0", "psr/simple-cache-implementation": "*", - "symfony/cache": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.0|^7.0", + "symfony/cache": "^5.4.38|^6.0|^7.0|^8.0", + "symfony/process": "^5.4.35|^6.0|^7.0|^8.0", "vlucas/phpdotenv": "^5.5" }, "suggest": { @@ -15828,42 +15652,43 @@ "type": "github" } ], - "time": "2025-02-21T14:31:39+00:00" + "time": "2026-03-17T10:51:08+00:00" }, { "name": "spatie/laravel-ignition", - "version": "2.9.1", + "version": "2.12.0", "source": { "type": "git", "url": "https://github.com/spatie/laravel-ignition.git", - "reference": "1baee07216d6748ebd3a65ba97381b051838707a" + "reference": "45b3b6e1e73fc161cba2149972698644b99594ee" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/1baee07216d6748ebd3a65ba97381b051838707a", - "reference": "1baee07216d6748ebd3a65ba97381b051838707a", + "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/45b3b6e1e73fc161cba2149972698644b99594ee", + "reference": "45b3b6e1e73fc161cba2149972698644b99594ee", "shasum": "" }, "require": { "ext-curl": "*", "ext-json": "*", "ext-mbstring": "*", - "illuminate/support": "^10.0|^11.0|^12.0", - "php": "^8.1", - "spatie/ignition": "^1.15", - "symfony/console": "^6.2.3|^7.0", - "symfony/var-dumper": "^6.2.3|^7.0" + "illuminate/support": "^11.0|^12.0|^13.0", + "nesbot/carbon": "^2.72|^3.0", + "php": "^8.2", + "spatie/ignition": "^1.16", + "symfony/console": "^7.4|^8.0", + "symfony/var-dumper": "^7.4|^8.0" }, "require-dev": { - "livewire/livewire": "^2.11|^3.3.5", - "mockery/mockery": "^1.5.1", - "openai-php/client": "^0.8.1|^0.10", - "orchestra/testbench": "8.22.3|^9.0|^10.0", - "pestphp/pest": "^2.34|^3.7", - "phpstan/extension-installer": "^1.3.1", - "phpstan/phpstan-deprecation-rules": "^1.1.1|^2.0", - "phpstan/phpstan-phpunit": "^1.3.16|^2.0", - "vlucas/phpdotenv": "^5.5" + "livewire/livewire": "^3.7.0|^4.0|dev-josh/v3-laravel-13-support", + "mockery/mockery": "^1.6.12", + "openai-php/client": "^0.10.3|^0.19", + "orchestra/testbench": "^v9.16.0|^10.6|^11.0", + "pestphp/pest": "^3.7|^4.0", + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan-deprecation-rules": "^2.0.3", + "phpstan/phpstan-phpunit": "^2.0.8", + "vlucas/phpdotenv": "^5.6.2" }, "suggest": { "openai-php/client": "Require get solutions from OpenAI", @@ -15919,7 +15744,7 @@ "type": "github" } ], - "time": "2025-02-20T13:13:55+00:00" + "time": "2026-03-17T12:20:04+00:00" }, { "name": "staabm/side-effects-detector", @@ -15975,23 +15800,23 @@ }, { "name": "ta-tikoma/phpunit-architecture-test", - "version": "0.8.6", + "version": "0.8.7", "source": { "type": "git", "url": "https://github.com/ta-tikoma/phpunit-architecture-test.git", - "reference": "ad48430b92901fd7d003fdaf2d7b139f96c0906e" + "reference": "1248f3f506ca9641d4f68cebcd538fa489754db8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ta-tikoma/phpunit-architecture-test/zipball/ad48430b92901fd7d003fdaf2d7b139f96c0906e", - "reference": "ad48430b92901fd7d003fdaf2d7b139f96c0906e", + "url": "https://api.github.com/repos/ta-tikoma/phpunit-architecture-test/zipball/1248f3f506ca9641d4f68cebcd538fa489754db8", + "reference": "1248f3f506ca9641d4f68cebcd538fa489754db8", "shasum": "" }, "require": { "nikic/php-parser": "^4.18.0 || ^5.0.0", "php": "^8.1.0", "phpdocumentor/reflection-docblock": "^5.3.0 || ^6.0.0", - "phpunit/phpunit": "^10.5.5 || ^11.0.0 || ^12.0.0", + "phpunit/phpunit": "^10.5.5 || ^11.0.0 || ^12.0.0 || ^13.0.0", "symfony/finder": "^6.4.0 || ^7.0.0 || ^8.0.0" }, "require-dev": { @@ -16028,9 +15853,9 @@ ], "support": { "issues": "https://github.com/ta-tikoma/phpunit-architecture-test/issues", - "source": "https://github.com/ta-tikoma/phpunit-architecture-test/tree/0.8.6" + "source": "https://github.com/ta-tikoma/phpunit-architecture-test/tree/0.8.7" }, - "time": "2026-01-30T07:16:00+00:00" + "time": "2026-02-17T17:25:14+00:00" }, { "name": "theseer/tokenizer", @@ -16084,16 +15909,16 @@ }, { "name": "webmozart/assert", - "version": "2.1.2", + "version": "2.4.0", "source": { "type": "git", "url": "https://github.com/webmozarts/assert.git", - "reference": "ce6a2f100c404b2d32a1dd1270f9b59ad4f57649" + "reference": "9007ea6f45ecf352a9422b36644e4bfc039b9155" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/ce6a2f100c404b2d32a1dd1270f9b59ad4f57649", - "reference": "ce6a2f100c404b2d32a1dd1270f9b59ad4f57649", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/9007ea6f45ecf352a9422b36644e4bfc039b9155", + "reference": "9007ea6f45ecf352a9422b36644e4bfc039b9155", "shasum": "" }, "require": { @@ -16109,7 +15934,11 @@ }, "type": "library", "extra": { + "psalm": { + "pluginClass": "Webmozart\\Assert\\PsalmPlugin" + }, "branch-alias": { + "dev-master": "2.0-dev", "dev-feature/2-0": "2.0-dev" } }, @@ -16140,22 +15969,22 @@ ], "support": { "issues": "https://github.com/webmozarts/assert/issues", - "source": "https://github.com/webmozarts/assert/tree/2.1.2" + "source": "https://github.com/webmozarts/assert/tree/2.4.0" }, - "time": "2026-01-13T14:02:24+00:00" + "time": "2026-05-20T13:07:01+00:00" } ], "aliases": [], - "minimum-stability": "dev", + "minimum-stability": "stable", "stability-flags": {}, "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": "^8.3" + "php": "^8.4" }, "platform-dev": {}, "platform-overrides": { - "php": "8.3" + "php": "8.4" }, - "plugin-api-version": "2.9.0" + "plugin-api-version": "2.6.0" } diff --git a/config/app.php b/config/app.php index 1c4aa88c71..b208eff91f 100644 --- a/config/app.php +++ b/config/app.php @@ -29,7 +29,6 @@ * @link https://github.com/OpenSID/opendk */ -use Illuminate\Support\Facades\Facade; return [ @@ -220,100 +219,5 @@ // 'store' => 'redis', ], - /* - |-------------------------------------------------------------------------- - | Autoloaded Service Providers - |-------------------------------------------------------------------------- - | - | The service providers listed here will be automatically loaded on the - | request to your application. Feel free to add your own services to - | this array to grant expanded functionality to your applications. - | - */ - - 'providers' => [ - - /* - * Laravel Framework Service Providers... - */ - Illuminate\Auth\AuthServiceProvider::class, - Illuminate\Broadcasting\BroadcastServiceProvider::class, - Illuminate\Bus\BusServiceProvider::class, - Illuminate\Cache\CacheServiceProvider::class, - Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class, - Illuminate\Cookie\CookieServiceProvider::class, - Illuminate\Database\DatabaseServiceProvider::class, - Illuminate\Encryption\EncryptionServiceProvider::class, - Illuminate\Filesystem\FilesystemServiceProvider::class, - Illuminate\Foundation\Providers\FoundationServiceProvider::class, - Illuminate\Hashing\HashServiceProvider::class, - Illuminate\Mail\MailServiceProvider::class, - Illuminate\Notifications\NotificationServiceProvider::class, - Illuminate\Pagination\PaginationServiceProvider::class, - Illuminate\Pipeline\PipelineServiceProvider::class, - Illuminate\Queue\QueueServiceProvider::class, - Illuminate\Redis\RedisServiceProvider::class, - Illuminate\Auth\Passwords\PasswordResetServiceProvider::class, - Illuminate\Session\SessionServiceProvider::class, - Illuminate\Translation\TranslationServiceProvider::class, - Illuminate\Validation\ValidationServiceProvider::class, - Illuminate\View\ViewServiceProvider::class, - UniSharp\LaravelFilemanager\LaravelFilemanagerServiceProvider::class, - // Intervention\Image\ImageServiceProvider::class, - Spatie\Permission\PermissionServiceProvider::class, - - // Spatie HTML - Spatie\Html\HtmlServiceProvider::class, - /* - * Package Service Providers... - */ - - /* - * Application Service Providers... - */ - App\Providers\AppServiceProvider::class, - App\Providers\AuthServiceProvider::class, - // App\Providers\BroadcastServiceProvider::class, - App\Providers\EventServiceProvider::class, - App\Providers\RouteServiceProvider::class, - - Maatwebsite\Excel\ExcelServiceProvider::class, - //Captcha - Mews\Captcha\CaptchaServiceProvider::class, - - // Visitor Counter - App\Providers\KDServiceProvider::class, - - // JWT Auth - Tymon\JWTAuth\Providers\LaravelServiceProvider::class, - - //Log Viewer - Rap2hpoutre\LaravelLogViewer\LaravelLogViewerServiceProvider::class, - - //Dynamic smtp - App\Providers\SmtpServiceProvider::class, - ], - - /* - |-------------------------------------------------------------------------- - | Class Aliases - |-------------------------------------------------------------------------- - | - | This array of class aliases will be registered when this application - | is started. However, feel free to register as many as you wish as - | the aliases are "lazy" loaded so they don't hinder performance. - | - */ - - 'aliases' => Facade::defaultAliases()->merge([ - // 'Eloquent' => Illuminate\Database\Eloquent\Model::class, - 'Captcha' => Mews\Captcha\Facades\Captcha::class, - 'Counter' => App\Facades\Counter::class, - 'Html' => Spatie\Html\Facades\Html::class, - 'Excel' => Maatwebsite\Excel\Facades\Excel::class, - 'JWTAuth' => Tymon\JWTAuth\Facades\JWTAuth::class, - 'JWTFactory' => Tymon\JWTAuth\Facades\JWTFactory::class, - 'Debugbar' => \Barryvdh\Debugbar\Facades\Debugbar::class - ])->toArray(), ]; diff --git a/config/cache.php b/config/cache.php index cb1b887f6c..7e4257c283 100644 --- a/config/cache.php +++ b/config/cache.php @@ -134,6 +134,19 @@ | */ - 'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache_'), + 'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel')).'-cache-'), + + /* + |-------------------------------------------------------------------------- + | Serializable Classes + |-------------------------------------------------------------------------- + | + | This option hardens cache unserialization to help prevent PHP + | deserialization gadget chain attacks. Set to false to disable, or + | provide an explicit allow-list of classes that may be unserialized. + | + */ + + 'serializable_classes' => true, ]; diff --git a/config/installer.php b/config/installer.php index 38ae94d35c..3748058ead 100644 --- a/config/installer.php +++ b/config/installer.php @@ -42,8 +42,9 @@ | */ 'core' => [ - 'minPhpVersion' => '8.3.0', + 'minPhpVersion' => '8.4.0', ], + 'final' => [ 'key' => true, 'publish' => false, diff --git a/database/factories/AgamaFactory.php b/database/factories/AgamaFactory.php index 7d28213e2d..17f3f53f5a 100644 --- a/database/factories/AgamaFactory.php +++ b/database/factories/AgamaFactory.php @@ -15,4 +15,4 @@ public function definition(): array 'nama' => $this->faker->word(), ]; } -} \ No newline at end of file +} diff --git a/database/factories/AnggaranDesaFactory.php b/database/factories/AnggaranDesaFactory.php index 3da7433da5..ebbc077e1e 100644 --- a/database/factories/AnggaranDesaFactory.php +++ b/database/factories/AnggaranDesaFactory.php @@ -14,7 +14,7 @@ public function definition() { return [ 'desa_id' => function () { - return DataDesa::firstOrCreate(['nama' => 'Desa Contoh'], ['nama' => 'Desa Contoh', 'website' => 'https://example.com', 'luas_wilayah' => 10.5])->id; + return DataDesa::firstOrCreate(['nama' => 'Desa Contoh'], ['desa_id' => '3301011234567', 'nama' => 'Desa Contoh', 'website' => 'https://example.com', 'luas_wilayah' => 10.5])->desa_id; }, 'no_akun' => $this->faker->numerify('####.##.##'), 'nama_akun' => $this->faker->words(3, true), diff --git a/database/factories/ArtikelKategoriFactory.php b/database/factories/ArtikelKategoriFactory.php index 3e430f9eaf..bc10e293c9 100644 --- a/database/factories/ArtikelKategoriFactory.php +++ b/database/factories/ArtikelKategoriFactory.php @@ -28,4 +28,4 @@ public function definition() 'updated_at' => $this->faker->dateTimeThisYear(), ]; } -} \ No newline at end of file +} diff --git a/database/factories/CacatFactory.php b/database/factories/CacatFactory.php index a26bed1059..11c5a6655f 100644 --- a/database/factories/CacatFactory.php +++ b/database/factories/CacatFactory.php @@ -15,4 +15,4 @@ public function definition(): array 'nama' => $this->faker->word(), ]; } -} \ No newline at end of file +} diff --git a/database/factories/CacheKeyFactory.php b/database/factories/CacheKeyFactory.php index 5b2a83a3df..54b546706c 100644 --- a/database/factories/CacheKeyFactory.php +++ b/database/factories/CacheKeyFactory.php @@ -27,4 +27,4 @@ public function definition() 'group' => $this->faker->optional()->word, ]; } -} \ No newline at end of file +} diff --git a/database/factories/DataDesaFactory.php b/database/factories/DataDesaFactory.php index 9828d29fca..61a959dd7d 100644 --- a/database/factories/DataDesaFactory.php +++ b/database/factories/DataDesaFactory.php @@ -19,4 +19,4 @@ public function definition(): array 'luas_wilayah' => $this->faker->randomFloat(2, 10, 1000), ]; } -} \ No newline at end of file +} diff --git a/database/factories/DataUmumFactory.php b/database/factories/DataUmumFactory.php index 64c1de1f66..e427a3440f 100644 --- a/database/factories/DataUmumFactory.php +++ b/database/factories/DataUmumFactory.php @@ -39,4 +39,4 @@ public function definition(): array 'embed_peta' => $this->faker->text(500), ]; } -} \ No newline at end of file +} diff --git a/database/factories/EpidemiPenyakitFactory.php b/database/factories/EpidemiPenyakitFactory.php index ec66f618b4..b877d457ba 100644 --- a/database/factories/EpidemiPenyakitFactory.php +++ b/database/factories/EpidemiPenyakitFactory.php @@ -59,7 +59,7 @@ public function definition() return [ 'desa_id' => function () { - return DataDesa::firstOrCreate(['nama' => 'Desa Contoh'], ['nama' => 'Desa Contoh', 'website' => 'https://example.com', 'luas_wilayah' => 10.5])->id; + return DataDesa::firstOrCreate(['nama' => 'Desa Contoh'], ['desa_id' => '3301011234567', 'nama' => 'Desa Contoh', 'website' => 'https://example.com', 'luas_wilayah' => 10.5])->desa_id; }, 'penyakit_id' => function () { return \App\Models\JenisPenyakit::firstOrCreate(['nama' => 'Demam Berdarah'], ['nama' => 'Demam Berdarah'])->id; diff --git a/database/factories/GolonganDarahFactory.php b/database/factories/GolonganDarahFactory.php index be790b3234..13c6c05e8a 100644 --- a/database/factories/GolonganDarahFactory.php +++ b/database/factories/GolonganDarahFactory.php @@ -25,4 +25,4 @@ public function definition() 'nama' => $this->faker->unique()->randomElement(['A', 'B', 'AB', 'O']), ]; } -} \ No newline at end of file +} diff --git a/database/factories/HubunganKeluargaFactory.php b/database/factories/HubunganKeluargaFactory.php index d05840f83a..408bc01072 100644 --- a/database/factories/HubunganKeluargaFactory.php +++ b/database/factories/HubunganKeluargaFactory.php @@ -25,4 +25,4 @@ public function definition() 'nama' => $this->faker->unique()->randomElement(['Kepala Keluarga', 'Suami', 'Istri', 'Anak', 'Menantu', 'Cucu', 'Orang Tua', 'Mertua', 'Famili Lain']), ]; } -} \ No newline at end of file +} diff --git a/database/factories/ImunisasiFactory.php b/database/factories/ImunisasiFactory.php index c4abc41896..2fee029ba2 100644 --- a/database/factories/ImunisasiFactory.php +++ b/database/factories/ImunisasiFactory.php @@ -14,7 +14,7 @@ public function definition() { return [ 'desa_id' => function () { - return DataDesa::firstOrCreate(['nama' => 'Desa Contoh'], ['nama' => 'Desa Contoh', 'website' => 'https://example.com', 'luas_wilayah' => 10.5])->id; + return DataDesa::firstOrCreate(['nama' => 'Desa Contoh'], ['desa_id' => '3301011234567', 'nama' => 'Desa Contoh', 'website' => 'https://example.com', 'luas_wilayah' => 10.5])->desa_id; }, 'cakupan_imunisasi' => $this->faker->numberBetween(50, 100), 'bulan' => $this->faker->numberBetween(1, 12), diff --git a/database/factories/JawabKomplainFactory.php b/database/factories/JawabKomplainFactory.php index bc991ef36b..93014dc9a3 100644 --- a/database/factories/JawabKomplainFactory.php +++ b/database/factories/JawabKomplainFactory.php @@ -18,4 +18,4 @@ public function definition() 'jawaban' => $this->faker->sentence, ]; } -} \ No newline at end of file +} diff --git a/database/factories/JenisDokumenFactory.php b/database/factories/JenisDokumenFactory.php index d3379b852e..b2a8197950 100644 --- a/database/factories/JenisDokumenFactory.php +++ b/database/factories/JenisDokumenFactory.php @@ -18,4 +18,4 @@ public function definition() 'slug' => Str::slug($nama) . '-' . $this->faker->unique()->randomNumber(3), ]; } -} \ No newline at end of file +} diff --git a/database/factories/KategoriFactory.php b/database/factories/KategoriFactory.php index 3fdf286c0e..ea2134bdd8 100644 --- a/database/factories/KategoriFactory.php +++ b/database/factories/KategoriFactory.php @@ -18,4 +18,4 @@ public function definition() 'slug' => Str::slug($nama) . '-' . $this->faker->unique()->randomNumber(3), ]; } -} \ No newline at end of file +} diff --git a/database/factories/KategoriKomplainFactory.php b/database/factories/KategoriKomplainFactory.php index 7a7fe8eeb4..f8eeaa8416 100644 --- a/database/factories/KategoriKomplainFactory.php +++ b/database/factories/KategoriKomplainFactory.php @@ -15,4 +15,4 @@ public function definition() 'nama' => $this->faker->words(2, true), ]; } -} \ No newline at end of file +} diff --git a/database/factories/KategoriLembagaFactory.php b/database/factories/KategoriLembagaFactory.php index 8cd14bcfbb..c63e7b1314 100644 --- a/database/factories/KategoriLembagaFactory.php +++ b/database/factories/KategoriLembagaFactory.php @@ -16,4 +16,4 @@ public function definition() 'deskripsi' => $this->faker->sentence, ]; } -} \ No newline at end of file +} diff --git a/database/factories/KawinFactory.php b/database/factories/KawinFactory.php index 87a669e0d6..00dc8603c9 100644 --- a/database/factories/KawinFactory.php +++ b/database/factories/KawinFactory.php @@ -25,4 +25,4 @@ public function definition() 'nama' => $this->faker->unique()->randomElement(['Belum Kawin', 'Kawin', 'Cerai Hidup', 'Cerai Mati']), ]; } -} \ No newline at end of file +} diff --git a/database/factories/KeluargaFactory.php b/database/factories/KeluargaFactory.php index 32a1670f64..b4101136ed 100644 --- a/database/factories/KeluargaFactory.php +++ b/database/factories/KeluargaFactory.php @@ -31,7 +31,7 @@ public function definition() 'rt' => $this->faker->randomElement(['001', '002', '003', '004']), 'rw' => $this->faker->randomElement(['01', '02', '03', '04']), 'desa_id' => function () { - return \App\Models\DataDesa::firstOrCreate(['nama' => 'Desa Contoh'], ['nama' => 'Desa Contoh', 'website' => 'https://example.com', 'luas_wilayah' => 10.5])->id; + return \App\Models\DataDesa::firstOrCreate(['nama' => 'Desa Contoh'], ['desa_id' => '3301011234567', 'nama' => 'Desa Contoh', 'website' => 'https://example.com', 'luas_wilayah' => 10.5])->desa_id; }, ]; } diff --git a/database/factories/KomplainFactory.php b/database/factories/KomplainFactory.php index b4c50e6326..9875d95055 100644 --- a/database/factories/KomplainFactory.php +++ b/database/factories/KomplainFactory.php @@ -30,4 +30,4 @@ public function definition() 'dilihat' => 0, ]; } -} \ No newline at end of file +} diff --git a/database/factories/LaporanApbdesFactory.php b/database/factories/LaporanApbdesFactory.php index ec3475f24c..42a3e1e0ca 100644 --- a/database/factories/LaporanApbdesFactory.php +++ b/database/factories/LaporanApbdesFactory.php @@ -18,7 +18,7 @@ public function definition() 'semester' => $this->faker->numberBetween(1, 2), 'nama_file' => $this->faker->word . '.pdf', 'desa_id' => function () { - return DataDesa::firstOrCreate(['nama' => 'Desa Contoh'], ['nama' => 'Desa Contoh', 'website' => 'https://example.com', 'luas_wilayah' => 10.5])->id; + return DataDesa::firstOrCreate(['nama' => 'Desa Contoh'], ['desa_id' => '3301011234567', 'nama' => 'Desa Contoh', 'website' => 'https://example.com', 'luas_wilayah' => 10.5])->desa_id; }, 'imported_at' => $this->faker->dateTime(), ]; diff --git a/database/factories/LaporanPendudukFactory.php b/database/factories/LaporanPendudukFactory.php index 7737b3ff56..2f445582d7 100644 --- a/database/factories/LaporanPendudukFactory.php +++ b/database/factories/LaporanPendudukFactory.php @@ -19,7 +19,7 @@ public function definition() 'nama_file' => $this->faker->word . '.pdf', 'id_laporan_penduduk' => $this->faker->unique()->numberBetween(1, 999999), 'desa_id' => function () { - return DataDesa::firstOrCreate(['nama' => 'Desa Contoh'], ['nama' => 'Desa Contoh', 'website' => 'https://example.com', 'luas_wilayah' => 10.5])->id; + return DataDesa::firstOrCreate(['nama' => 'Desa Contoh'], ['desa_id' => '3301011234567', 'nama' => 'Desa Contoh', 'website' => 'https://example.com', 'luas_wilayah' => 10.5])->desa_id; }, 'imported_at' => $this->faker->dateTime, ]; diff --git a/database/factories/LembagaAnggotaFactory.php b/database/factories/LembagaAnggotaFactory.php index e49d769e4c..231e84ee96 100644 --- a/database/factories/LembagaAnggotaFactory.php +++ b/database/factories/LembagaAnggotaFactory.php @@ -35,4 +35,4 @@ public function definition() 'updated_at' => now(), ]; } -} \ No newline at end of file +} diff --git a/database/factories/LembagaFactory.php b/database/factories/LembagaFactory.php index aa74d3f05c..330fcfd666 100644 --- a/database/factories/LembagaFactory.php +++ b/database/factories/LembagaFactory.php @@ -27,4 +27,4 @@ public function definition() 'updated_at' => now(), ]; } -} \ No newline at end of file +} diff --git a/database/factories/NavMenuFactory.php b/database/factories/NavMenuFactory.php index cbe85ad9e1..bc8503027f 100644 --- a/database/factories/NavMenuFactory.php +++ b/database/factories/NavMenuFactory.php @@ -21,4 +21,4 @@ public function definition() 'parent_id' => null, ]; } -} \ No newline at end of file +} diff --git a/database/factories/OtpTokenFactory.php b/database/factories/OtpTokenFactory.php index 85fe093107..c2f89f0e0a 100644 --- a/database/factories/OtpTokenFactory.php +++ b/database/factories/OtpTokenFactory.php @@ -23,4 +23,4 @@ public function definition(): array 'attempts' => 0, ]; } -} \ No newline at end of file +} diff --git a/database/factories/PekerjaanFactory.php b/database/factories/PekerjaanFactory.php index 84c0c295b8..2f7ae5e6e4 100644 --- a/database/factories/PekerjaanFactory.php +++ b/database/factories/PekerjaanFactory.php @@ -25,4 +25,4 @@ public function definition() 'nama' => $this->faker->unique()->randomElement(['Belum/Tidak Bekerja', 'Mengurus Rumah Tangga', 'Pelajar/Mahasiswa', 'Pensiunan', 'Pegawai Negeri Sipil', 'TNI/Polisi', 'Karyawan Swasta', 'Pedagang', 'Petani/Pekebun', 'Peternak', 'Nelayan/Perikanan', 'Industri', 'Konstruksi', 'Transportasi', 'Karyawan Honorer', 'Buruh Harian Lepas', 'Buruh Tani/Perkebunan', 'Buruh Nelayan/Perikanan', 'Buruh Peternakan', 'Buruh Karyawan Swasta', 'Buruh Industri', 'Pembantu Rumah Tangga', 'Tukang Batu', 'Tukang Kayu', 'Tukang Sol Sepatu', 'Tukang Las/Pandai Besi', 'Tukang Jahit', 'Tukang Gigi', 'Tukang Cukur', 'Penata Rambut', 'Penata Busana', 'Penata Rias', 'Penata Memasak', 'Penjaga Toko', 'Penjaga Keamanan', 'Pemandu Wisata', 'Pengemudi', 'Pengusaha', 'Wirausaha', 'Lainnya']), ]; } -} \ No newline at end of file +} diff --git a/database/factories/PembangunanFactory.php b/database/factories/PembangunanFactory.php index 1c41b12f4b..65824fd024 100644 --- a/database/factories/PembangunanFactory.php +++ b/database/factories/PembangunanFactory.php @@ -21,7 +21,7 @@ public function definition() return abs($id % 2000000000); }, 'desa_id' => function () { - return DataDesa::firstOrCreate(['nama' => 'Desa Contoh'], ['nama' => 'Desa Contoh', 'website' => 'https://example.com', 'luas_wilayah' => 10.5])->id; + return DataDesa::firstOrCreate(['nama' => 'Desa Contoh'], ['desa_id' => '3301011234567', 'nama' => 'Desa Contoh', 'website' => 'https://example.com', 'luas_wilayah' => 10.5])->desa_id; }, 'judul' => $this->faker->sentence(4), 'sumber_dana' => $this->faker->randomElement(['APBD', 'APBN', 'Swadaya', 'Bantuan']), diff --git a/database/factories/PendidikanFactory.php b/database/factories/PendidikanFactory.php index 9fbe9b38b1..518ef9c943 100644 --- a/database/factories/PendidikanFactory.php +++ b/database/factories/PendidikanFactory.php @@ -25,4 +25,4 @@ public function definition() 'nama' => $this->faker->unique()->randomElement(['Tidak/Tidak Pernah Sekolah', 'Belum Tamat SD/SD', 'SLTP/Sederajat', 'SLTA/Sederajat', 'Diploma I/II', 'Akademi/Diploma III/Sarjana Muda', 'Diploma IV/Strata I', 'Strata II', 'Strata III']), ]; } -} \ No newline at end of file +} diff --git a/database/factories/PendidikanKKFactory.php b/database/factories/PendidikanKKFactory.php index 5a02986c53..fcac35625d 100644 --- a/database/factories/PendidikanKKFactory.php +++ b/database/factories/PendidikanKKFactory.php @@ -25,4 +25,4 @@ public function definition() 'nama' => $this->faker->unique()->randomElement(['Tidak/Tidak Pernah Sekolah', 'Belum Tamat SD/SD', 'SLTP/Sederajat', 'SLTA/Sederajat', 'Diploma I/II', 'Akademi/Diploma III/Sarjana Muda', 'Diploma IV/Strata I', 'Strata II', 'Strata III']), ]; } -} \ No newline at end of file +} diff --git a/database/factories/PendudukFactory.php b/database/factories/PendudukFactory.php index 8e47d52a85..38e74a3f27 100644 --- a/database/factories/PendudukFactory.php +++ b/database/factories/PendudukFactory.php @@ -80,7 +80,7 @@ public function definition(): array 'no_kk' => $this->faker->numerify('################'), 'no_kk_sebelumnya' => $this->faker->optional()->numerify('################'), 'desa_id' => function () { - return \App\Models\DataDesa::firstOrCreate(['nama' => 'Desa Contoh'], ['nama' => 'Desa Contoh', 'website' => 'https://example.com', 'luas_wilayah' => 10.5])->id; + return \App\Models\DataDesa::firstOrCreate(['nama' => 'Desa Contoh'], ['desa_id' => '3301011234567', 'nama' => 'Desa Contoh', 'website' => 'https://example.com', 'luas_wilayah' => 10.5])->desa_id; }, 'created_at' => now(), 'updated_at' => now(), @@ -88,4 +88,4 @@ public function definition(): array 'id_pend_desa' => $this->faker->numberBetween(1, 999), ]; } -} \ No newline at end of file +} diff --git a/database/factories/PendudukSexFactory.php b/database/factories/PendudukSexFactory.php index b9558e48cd..db538377c3 100644 --- a/database/factories/PendudukSexFactory.php +++ b/database/factories/PendudukSexFactory.php @@ -25,4 +25,4 @@ public function definition() 'nama' => $this->faker->unique()->randomElement(['Laki-laki', 'Perempuan']), ]; } -} \ No newline at end of file +} diff --git a/database/factories/PesanFactory.php b/database/factories/PesanFactory.php index 7fb848c793..0cc892b260 100644 --- a/database/factories/PesanFactory.php +++ b/database/factories/PesanFactory.php @@ -21,4 +21,4 @@ public function definition() 'created_at' => $this->faker->dateTime, ]; } -} \ No newline at end of file +} diff --git a/database/factories/ProfilFactory.php b/database/factories/ProfilFactory.php index 2cc8f333d9..9089d5b64a 100644 --- a/database/factories/ProfilFactory.php +++ b/database/factories/ProfilFactory.php @@ -34,4 +34,4 @@ public function definition(): array 'misi' => $this->faker->text(500), // Use text instead of paragraph to control length ]; } -} \ No newline at end of file +} diff --git a/database/factories/PutusSekolahFactory.php b/database/factories/PutusSekolahFactory.php index faa0d3aa66..48d5e56b49 100644 --- a/database/factories/PutusSekolahFactory.php +++ b/database/factories/PutusSekolahFactory.php @@ -53,7 +53,7 @@ public function definition() return [ 'desa_id' => function () { - return DataDesa::firstOrCreate(['nama' => 'Desa Contoh'], ['nama' => 'Desa Contoh', 'website' => 'https://example.com', 'luas_wilayah' => 10.5])->id; + return DataDesa::firstOrCreate(['nama' => 'Desa Contoh'], ['desa_id' => '3301011234567', 'nama' => 'Desa Contoh', 'website' => 'https://example.com', 'luas_wilayah' => 10.5])->desa_id; }, 'siswa_paud' => $this->faker->numberBetween(0, 50), 'anak_usia_paud' => $this->faker->numberBetween(0, 100), diff --git a/database/factories/SettingAplikasiFactory.php b/database/factories/SettingAplikasiFactory.php index d563cd1ce5..ffd022b18e 100644 --- a/database/factories/SettingAplikasiFactory.php +++ b/database/factories/SettingAplikasiFactory.php @@ -20,4 +20,4 @@ public function definition() 'kategori' => $this->faker->randomElement(['aplikasi', 'surat', 'lainnya']), ]; } -} \ No newline at end of file +} diff --git a/database/factories/SinergiProgramFactory.php b/database/factories/SinergiProgramFactory.php index 8cd7d11591..93cb347018 100644 --- a/database/factories/SinergiProgramFactory.php +++ b/database/factories/SinergiProgramFactory.php @@ -19,4 +19,4 @@ public function definition() 'urutan' => $this->faker->numberBetween(1, 10), ]; } -} \ No newline at end of file +} diff --git a/database/factories/SuratFactory.php b/database/factories/SuratFactory.php index 2dbe2a901f..30af488607 100644 --- a/database/factories/SuratFactory.php +++ b/database/factories/SuratFactory.php @@ -23,7 +23,7 @@ public function definition() { return [ 'desa_id' => function () { - return DataDesa::firstOrCreate(['nama' => 'Desa Contoh'], ['nama' => 'Desa Contoh', 'website' => 'https://example.com', 'luas_wilayah' => 10.5])->id; + return DataDesa::firstOrCreate(['nama' => 'Desa Contoh'], ['desa_id' => '3301011234567', 'nama' => 'Desa Contoh', 'website' => 'https://example.com', 'luas_wilayah' => 10.5])->desa_id; }, 'nik' => $this->faker->numerify('################'), // 16 digit char 'pengurus_id' => function () { diff --git a/database/factories/TingkatPendidikanFactory.php b/database/factories/TingkatPendidikanFactory.php index 88426cf15e..8aeada36a6 100644 --- a/database/factories/TingkatPendidikanFactory.php +++ b/database/factories/TingkatPendidikanFactory.php @@ -53,7 +53,7 @@ public function definition() return [ 'desa_id' => function () { - return DataDesa::firstOrCreate(['nama' => 'Desa Contoh'], ['nama' => 'Desa Contoh', 'website' => 'https://example.com', 'luas_wilayah' => 10.5])->id; + return DataDesa::firstOrCreate(['nama' => 'Desa Contoh'], ['desa_id' => '3301011234567', 'nama' => 'Desa Contoh', 'website' => 'https://example.com', 'luas_wilayah' => 10.5])->desa_id; }, 'tidak_tamat_sekolah' => $this->faker->numberBetween(0, 100), 'tamat_sd' => $this->faker->numberBetween(0, 200), diff --git a/database/factories/ToiletSanitasiFactory.php b/database/factories/ToiletSanitasiFactory.php index e51a48087e..31b29a817f 100644 --- a/database/factories/ToiletSanitasiFactory.php +++ b/database/factories/ToiletSanitasiFactory.php @@ -53,7 +53,7 @@ public function definition() return [ 'desa_id' => function () { - return DataDesa::firstOrCreate(['nama' => 'Desa Contoh'], ['nama' => 'Desa Contoh', 'website' => 'https://example.com', 'luas_wilayah' => 10.5])->id; + return DataDesa::firstOrCreate(['nama' => 'Desa Contoh'], ['desa_id' => '3301011234567', 'nama' => 'Desa Contoh', 'website' => 'https://example.com', 'luas_wilayah' => 10.5])->desa_id; }, 'toilet' => $this->faker->numberBetween(10, 100), 'sanitasi' => $this->faker->numberBetween(10, 100), diff --git a/database/factories/WarganegaraFactory.php b/database/factories/WarganegaraFactory.php index cdecb6b3af..a0903b9df8 100644 --- a/database/factories/WarganegaraFactory.php +++ b/database/factories/WarganegaraFactory.php @@ -25,4 +25,4 @@ public function definition() 'nama' => $this->faker->unique()->randomElement(['WNI', 'WNA']), ]; } -} \ No newline at end of file +} diff --git a/database/migrations/2020_11_29_183342_alter_table_profil.php b/database/migrations/2020_11_29_183342_alter_table_profil.php index a1a6dc507c..ccd26eb470 100644 --- a/database/migrations/2020_11_29_183342_alter_table_profil.php +++ b/database/migrations/2020_11_29_183342_alter_table_profil.php @@ -29,8 +29,7 @@ * @link https://github.com/OpenSID/opendk */ -use Doctrine\DBAL\Types\StringType; -use Doctrine\DBAL\Types\Type; + use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; @@ -44,9 +43,6 @@ class AlterTableProfil extends Migration */ public function up() { - if (! Type::hasType('char')) { - Type::addType('char', StringType::class); - } Schema::table('das_profil', function (Blueprint $table) { $table->string('alamat', 200)->nullable(true)->change(); $table->char('kode_pos', 12)->nullable(true)->change(); diff --git a/database/migrations/2020_12_08_101049_alter_table_log_impor.php b/database/migrations/2020_12_08_101049_alter_table_log_impor.php index 1eef18c57f..dc31758b07 100644 --- a/database/migrations/2020_12_08_101049_alter_table_log_impor.php +++ b/database/migrations/2020_12_08_101049_alter_table_log_impor.php @@ -29,8 +29,7 @@ * @link https://github.com/OpenSID/opendk */ -use Doctrine\DBAL\Types\StringType; -use Doctrine\DBAL\Types\Type; + use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; @@ -44,7 +43,6 @@ class AlterTableLogImpor extends Migration */ public function up() { - $this->charType(); Schema::table('log_imports', function (Blueprint $table) { $table->char('desa_id', 13)->nullable()->change(); }); @@ -57,22 +55,11 @@ public function up() */ public function down() { - $this->charType(); Schema::table('log_imports', function (Blueprint $table) { // sebelumnya bernilai 10, tapi bemasalah karena data yang ada kini bernilai 13 $table->char('desa_id', 13)->nullable()->change(); }); } - /** - * Doctrine bug: [L5.1] Migrations - Cannot change an existing column to type char #9636. - * - * @see https://github.com/laravel/framework/issues/9636 - */ - protected function charType() - { - if (! Type::hasType('char')) { - Type::addType('char', StringType::class); - } - } + } diff --git a/database/migrations/2021_10_13_112449_alter_table_das_keluarga.php b/database/migrations/2021_10_13_112449_alter_table_das_keluarga.php index af09377808..d4378e2f51 100644 --- a/database/migrations/2021_10_13_112449_alter_table_das_keluarga.php +++ b/database/migrations/2021_10_13_112449_alter_table_das_keluarga.php @@ -29,8 +29,7 @@ * @link https://github.com/OpenSID/opendk */ -use Doctrine\DBAL\Types\StringType; -use Doctrine\DBAL\Types\Type; + use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; @@ -44,7 +43,6 @@ class AlterTableDasKeluarga extends Migration */ public function up() { - $this->charType(); Schema::table('das_keluarga', function (Blueprint $table) { $table->char('desa_id', 13)->nullable()->change(); }); @@ -57,22 +55,11 @@ public function up() */ public function down() { - $this->charType(); Schema::table('das_keluarga', function (Blueprint $table) { // sebelumnya bernilai 10, tapi bemasalah karena data yang ada kini bernilai 13 $table->char('desa_id', 13)->nullable()->change(); }); } - /** - * Doctrine bug: [L5.1] Migrations - Cannot change an existing column to type char #9636. - * - * @see https://github.com/laravel/framework/issues/9636 - */ - protected function charType() - { - if (! Type::hasType('char')) { - Type::addType('char', StringType::class); - } - } + } diff --git a/database/migrations/2024_10_03_203704_add_field_kategori_id_in_table_artikel.php b/database/migrations/2024_10_03_203704_add_field_kategori_id_in_table_artikel.php index dea9ccb82f..e51d694afb 100644 --- a/database/migrations/2024_10_03_203704_add_field_kategori_id_in_table_artikel.php +++ b/database/migrations/2024_10_03_203704_add_field_kategori_id_in_table_artikel.php @@ -15,7 +15,11 @@ public function up() { Schema::table('das_artikel', function (Blueprint $table) { - $table->foreignIdFor(Kategori::class)->nullable()->after('judul')->constrained()->cascadeOnDelete()->cascadeOnUpdate(); + // Cek apakah kolom kategori_id sudah ada (dari migration sebelumnya) + // untuk menghindari duplicate column error + if (! Schema::hasColumn('das_artikel', 'kategori_id')) { + $table->foreignIdFor(Kategori::class)->nullable()->after('judul')->constrained()->cascadeOnDelete()->cascadeOnUpdate(); + } }); } @@ -27,7 +31,13 @@ public function up() public function down() { Schema::table('das_artikel', function (Blueprint $table) { - // + // Drop foreign key constraint sebelum menghapus kolom + // Nama constraint: das_artikel_kategori_id_foreign (konvensi Laravel) + if (Schema::hasColumn('das_artikel', 'kategori_id')) { + $table->dropForeign(['kategori_id']); + $table->dropColumn('kategori_id'); + } }); } }; + diff --git a/database/migrations/2024_11_01_161123_remove_foreign_key_kategori.php b/database/migrations/2024_11_01_161123_remove_foreign_key_kategori.php index 18d147ab5d..a598384c57 100644 --- a/database/migrations/2024_11_01_161123_remove_foreign_key_kategori.php +++ b/database/migrations/2024_11_01_161123_remove_foreign_key_kategori.php @@ -9,13 +9,19 @@ { /** * Run the migrations. + * Menghapus foreign key dan kolom kategori_id dari das_artikel + * (kolom ini sudah digantikan oleh id_kategori → das_artikel_kategori) * * @return void */ public function up() { Schema::table('das_artikel', function (Blueprint $table) { - $table->dropForeignIdFor(Kategori::class, 'kategori_id'); + // Drop FK terlebih dahulu sebelum drop kolom (MySQL strict mode requirement) + if (Schema::hasColumn('das_artikel', 'kategori_id')) { + $table->dropForeign(['kategori_id']); + $table->dropColumn('kategori_id'); + } }); } @@ -26,6 +32,16 @@ public function up() */ public function down() { - // + Schema::table('das_artikel', function (Blueprint $table) { + if (! Schema::hasColumn('das_artikel', 'kategori_id')) { + $table->foreignIdFor(Kategori::class) + ->nullable() + ->after('judul') + ->constrained() + ->cascadeOnDelete() + ->cascadeOnUpdate(); + } + }); } }; + diff --git a/database/seeders/PendudukSexSeeder.php b/database/seeders/PendudukSexSeeder.php index 4dd21dfadb..b8de3b4482 100644 --- a/database/seeders/PendudukSexSeeder.php +++ b/database/seeders/PendudukSexSeeder.php @@ -15,10 +15,14 @@ class PendudukSexSeeder extends Seeder */ public function run() { - // Insert data ke tabel das_penduduk_sex + // Truncate sebelum insert agar idempotent (aman jika dijalankan berulang) + // FK checks sudah dinonaktifkan oleh DatabaseSeeder + DB::table('das_penduduk_sex')->truncate(); + DB::table('das_penduduk_sex')->insert([ ['id' => 1, 'nama' => 'Laki-laki'], ['id' => 2, 'nama' => 'Perempuan'], ]); } } + diff --git a/helpers/general_helper.php b/helpers/general_helper.php index 2a6514716c..8d6fc0f01d 100644 --- a/helpers/general_helper.php +++ b/helpers/general_helper.php @@ -29,10 +29,12 @@ * @link https://github.com/OpenSID/opendk */ +use App\Http\Controllers\Helpers\Parsedown; use App\Models\DataDesa; use App\Models\Menu; use App\Models\Role; use App\Models\Themes; +use Hexadog\ThemesManager\Facades\ThemesManager; use Illuminate\Support\Carbon; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Schema; @@ -46,7 +48,7 @@ * @param string $content * @return string */ -if (!function_exists('get_tag_image')) { +if (! function_exists('get_tag_image')) { function get_tag_image(string $content) { if (preg_match('/ $parent_id The parent identifier - * @return ( description_of_the_return_value ) + * @return ( description_of_the_return_value ) */ function define_child($parent_id) { @@ -75,14 +77,15 @@ function define_child($parent_id) * * @param $id The identifier * @param $permission The permission - * @return ( description_of_the_return_value ) + * @return ( description_of_the_return_value ) */ function permission_val($id, $permission) { try { - $role = \App\Models\Role::findOrFail($id); + $role = Role::findOrFail($id); + return $role->hasPermissionTo($permission) ? 1 : 0; - } catch (\Exception $e) { + } catch (Exception $e) { return 0; } } @@ -90,14 +93,15 @@ function permission_val($id, $permission) function permission_name($name) { $translated = trans("permissions.{$name}"); + return $translated !== "permissions.{$name}" ? $translated : $name; } /** * Generate Password * - * @param int $length Length Character - * @return string voucher + * @param int $length Length Character + * @return string voucher */ function generate_password($length = 6) { @@ -141,7 +145,7 @@ function convert_xml_to_array($filename) $array = json_decode($json, true); return $array; - } catch (\Exception $e) { + } catch (Exception $e) { \Log::info([ 'ERROR MESSAGE' => $e->getMessage(), 'LINE' => $e->getLine(), @@ -168,7 +172,7 @@ function random_color_part() function random_color() { - return random_color_part() . random_color_part() . random_color_part(); + return random_color_part().random_color_part().random_color_part(); } function years_list() @@ -300,14 +304,14 @@ function is_wajib_ktp($umur, $status_kawin) if ($umur === null) { return null; } - $wajib_ktp = (($umur > 16) or (!empty($status_kawin) and $status_kawin != 1)); + $wajib_ktp = (($umur > 16) or (! empty($status_kawin) and $status_kawin != 1)); return $wajib_ktp; } function isThumbnail($url = null, $img = '/img/no-image.png') { - return !empty($url) && Storage::disk('public')->exists($url) ? Storage::disk('public')->url($url) : asset($img); + return ! empty($url) && Storage::disk('public')->exists($url) ? Storage::disk('public')->url($url) : asset($img); } function is_img($url = null, $img = '/img/no-image.png') @@ -322,11 +326,11 @@ function is_logo($url = '', $file = '/img/logo.png') function is_user($url = null, $sex = 1, $pengurus = null) { - if ($url && !$pengurus) { - $url = 'storage/penduduk/foto/' . $url; + if ($url && ! $pengurus) { + $url = 'storage/penduduk/foto/'.$url; } - $default = 'img/pengguna/' . (($sex == 2) ? 'wuser.png' : 'kuser.png'); + $default = 'img/pengguna/'.(($sex == 2) ? 'wuser.png' : 'kuser.png'); return is_img($url, $default); } @@ -334,7 +338,7 @@ function is_user($url = null, $sex = 1, $pengurus = null) function avatar($foto) { if ($foto) { - $foto = 'storage/user/' . $foto; + $foto = 'storage/user/'.$foto; } $default = 'bower_components/admin-lte/dist/img/user2-160x160.jpg'; @@ -342,14 +346,14 @@ function avatar($foto) return is_img($foto, $default); } -if (!function_exists('divnum')) { +if (! function_exists('divnum')) { function divnum($numerator, $denominator) { return $denominator == 0 ? 0 : ($numerator / $denominator); } } -if (!function_exists('format_number_id')) { +if (! function_exists('format_number_id')) { function format_number_id($inp = 0) { return number_format($inp, 2, ',', '.'); @@ -363,27 +367,27 @@ function terbilang($angka) $terbilang = ''; if ($angka < 12) { - $terbilang = ' ' . $baca[$angka]; + $terbilang = ' '.$baca[$angka]; } elseif ($angka < 20) { - $terbilang = terbilang($angka - 10) . ' Belas'; + $terbilang = terbilang($angka - 10).' Belas'; } elseif ($angka < 100) { - $terbilang = terbilang($angka / 10) . ' Puluh' . terbilang($angka % 10); + $terbilang = terbilang($angka / 10).' Puluh'.terbilang($angka % 10); } elseif ($angka < 200) { - $terbilang = ' seratus' . terbilang($angka - 100); + $terbilang = ' seratus'.terbilang($angka - 100); } elseif ($angka < 1000) { - $terbilang = terbilang($angka / 100) . ' Ratus' . terbilang($angka % 100); + $terbilang = terbilang($angka / 100).' Ratus'.terbilang($angka % 100); } elseif ($angka < 2000) { - $terbilang = ' seribu' . terbilang($angka - 1000); + $terbilang = ' seribu'.terbilang($angka - 1000); } elseif ($angka < 1000000) { - $terbilang = terbilang($angka / 1000) . ' Ribu' . terbilang($angka % 1000); + $terbilang = terbilang($angka / 1000).' Ribu'.terbilang($angka % 1000); } elseif ($angka < 1000000000) { - $terbilang = terbilang($angka / 1000000) . ' Juta' . terbilang($angka % 1000000); + $terbilang = terbilang($angka / 1000000).' Juta'.terbilang($angka % 1000000); } return $terbilang; } -if (!function_exists('sudahInstal')) { +if (! function_exists('sudahInstal')) { /** * Cek apakah sudah install OpenDK atau belum * @@ -391,7 +395,7 @@ function terbilang($angka) */ function sudahInstal(): bool { - if (!file_exists(storage_path('installed'))) { + if (! file_exists(storage_path('installed'))) { return false; } @@ -399,12 +403,11 @@ function sudahInstal(): bool } } -if (!function_exists('isActive')) { +if (! function_exists('isActive')) { /** * Helper function untuk installer views - cek apakah route aktif * - * @param string $routeName - * @return string + * @param string $routeName */ function isActive($routeName): string { @@ -432,7 +435,7 @@ function isActive($routeName): string * @param string $url * @return bool */ -if (!function_exists('checkWebsiteAccessibility')) { +if (! function_exists('checkWebsiteAccessibility')) { function checkWebsiteAccessibility($url) { $options = [ @@ -459,10 +462,10 @@ function checkWebsiteAccessibility($url) } } -if (!function_exists('bersihkan_xss')) { +if (! function_exists('bersihkan_xss')) { function bersihkan_xss($str) { - $antiXSS = new AntiXSS(); + $antiXSS = new AntiXSS; $antiXSS->removeEvilHtmlTags(['iframe']); $antiXSS->addEvilAttributes(['http-equiv', 'content']); @@ -470,12 +473,12 @@ function bersihkan_xss($str) } } -if (!function_exists('parsedown')) { +if (! function_exists('parsedown')) { function parsedown($params = null) { - $parsedown = new \App\Http\Controllers\Helpers\Parsedown(); + $parsedown = new Parsedown; - if (null !== $params) { + if ($params !== null) { return $parsedown->text(file_get_contents($params)); } @@ -483,7 +486,7 @@ function parsedown($params = null) } } -if (!function_exists('theme_new')) { +if (! function_exists('theme_new')) { /** * Ambil model tema * @@ -492,21 +495,21 @@ function parsedown($params = null) function theme_new() { if (Schema::hasTable('das_themes')) { - return new Themes(); + return new Themes; } return null; } } -if (!function_exists('scan_themes')) { +if (! function_exists('scan_themes')) { function scan_themes() { - $themes = \Hexadog\ThemesManager\Facades\ThemesManager::all(); + $themes = ThemesManager::all(); foreach ($themes as $theme) { // akse agar symlink dibuat - \Hexadog\ThemesManager\Facades\ThemesManager::set($theme->getVendor() . '/' . $theme->getName()); - \App\Models\Themes::UpdateOrCreate([ + ThemesManager::set($theme->getVendor().'/'.$theme->getName()); + Themes::UpdateOrCreate([ 'vendor' => $theme->getVendor(), 'name' => $theme->getName(), ], [ @@ -521,21 +524,25 @@ function scan_themes() } } -if (!function_exists('theme_active')) { +if (! function_exists('theme_active')) { function theme_active() { - $themeActive = \App\Models\Themes::where('active', 1)->first(); - if (!$themeActive) { - $themeActive = \App\Models\Themes::where('system', 1)->first(); + if (! sudahInstal()) { + return null; + } + + $themeActive = Themes::where('active', 1)->first(); + if (! $themeActive) { + $themeActive = Themes::where('system', 1)->first(); $themeActive->active = 1; $themeActive->save(); } - return \Hexadog\ThemesManager\Facades\ThemesManager::set($themeActive->slug); + return ThemesManager::set($themeActive->slug); } } -if (!function_exists('getFeeds')) { +if (! function_exists('getFeeds')) { function getFeeds() { return cache()->remember('feeds_desa', 60 * 60, function () { @@ -558,7 +565,7 @@ function getFeeds() 'author' => $item->get_author()->get_name() ?? 'Administrator', 'title' => $item->get_title(), 'image' => get_tag_image($item->get_description()), - 'description' => strip_tags(substr(str_replace(['&', 'nbsp;', '[...]'], '', $item->get_description()), 0, 250) . '[...]'), + 'description' => strip_tags(substr(str_replace(['&', 'nbsp;', '[...]'], '', $item->get_description()), 0, 250).'[...]'), 'content' => $item->get_content(), ]; } @@ -606,9 +613,9 @@ function nama($str): ?string function kode_wilayah($kode_wilayah): string { $kode_prov_kab_kec = str_split(substr($kode_wilayah, 0, 6), 2); - $kode_desa = (strlen($kode_wilayah) > 6) ? '.' . substr($kode_wilayah, 6) : ''; + $kode_desa = (strlen($kode_wilayah) > 6) ? '.'.substr($kode_wilayah, 6) : ''; - return implode('.', $kode_prov_kab_kec) . $kode_desa; + return implode('.', $kode_prov_kab_kec).$kode_desa; } function hari($tgl): string @@ -635,9 +642,9 @@ function number_to_words($number, $nol_sen = true): string { $before_comma = trim(to_word($number)); $after_comma = trim(comma($number)); - $result = $before_comma . ($nol_sen ? '' : ' koma ' . $after_comma); + $result = $before_comma.($nol_sen ? '' : ' koma '.$after_comma); - return ucwords($result . ' Rupiah'); + return ucwords($result.' Rupiah'); } function to_word($number): string @@ -665,22 +672,22 @@ function to_word($number): string $intPart = (int) $parts[0]; $decimalPart = (int) $parts[1]; - $words = to_word($intPart) . ' koma ' . to_word($decimalPart); + $words = to_word($intPart).' koma '.to_word($decimalPart); } else { $number = (int) str_replace('.', '', $number); // Ubah menjadi integer untuk memastikan hanya bilangan bulat yang diproses if ($number < 12) { - $words = ' ' . $arr_number[$number]; + $words = ' '.$arr_number[$number]; } elseif ($number < 20) { - $words = to_word($number - 10) . ' belas'; + $words = to_word($number - 10).' belas'; } elseif ($number < 100) { - $words = to_word(intdiv($number, 10)) . ' puluh' . to_word($number % 10); + $words = to_word(intdiv($number, 10)).' puluh'.to_word($number % 10); } elseif ($number < 200) { - $words = ' seratus' . to_word($number - 100); + $words = ' seratus'.to_word($number - 100); } elseif ($number < 1000) { - $words = to_word(intdiv($number, 100)) . ' ratus' . to_word($number % 100); + $words = to_word(intdiv($number, 100)).' ratus'.to_word($number % 100); } elseif ($number >= 1000 && $number < 2000) { - $words = ' seribu' . to_word($number - 1000); + $words = ' seribu'.to_word($number - 1000); } else { for ($i = count($unit) - 1; $i >= 0; $i--) { $divider = 10 ** (3 * $i); @@ -691,7 +698,7 @@ function to_word($number): string $div = intdiv($number, $divider); $mod = $number % $divider; - $words = to_word($div) . ' ' . $unit[$i] . to_word($mod); + $words = to_word($div).' '.$unit[$i].to_word($mod); break; } } @@ -722,7 +729,7 @@ function comma($number): string while ($i < $length) { $get = substr($after_comma, $i, 1); - $results .= ' ' . $arr_number[$get]; + $results .= ' '.$arr_number[$get]; $i++; } diff --git a/resources/lang/id/auth.php b/lang/id/auth.php similarity index 100% rename from resources/lang/id/auth.php rename to lang/id/auth.php diff --git a/resources/lang/id/installer_messages.php b/lang/id/installer_messages.php similarity index 100% rename from resources/lang/id/installer_messages.php rename to lang/id/installer_messages.php diff --git a/resources/lang/id/pagination.php b/lang/id/pagination.php similarity index 100% rename from resources/lang/id/pagination.php rename to lang/id/pagination.php diff --git a/resources/lang/id/passwords.php b/lang/id/passwords.php similarity index 100% rename from resources/lang/id/passwords.php rename to lang/id/passwords.php diff --git a/resources/lang/id/permissions.php b/lang/id/permissions.php similarity index 100% rename from resources/lang/id/permissions.php rename to lang/id/permissions.php diff --git a/resources/lang/id/validation.php b/lang/id/validation.php similarity index 100% rename from resources/lang/id/validation.php rename to lang/id/validation.php diff --git a/resources/lang/vendor/backup/ar/notifications.php b/lang/vendor/backup/ar/notifications.php similarity index 100% rename from resources/lang/vendor/backup/ar/notifications.php rename to lang/vendor/backup/ar/notifications.php diff --git a/resources/lang/vendor/backup/bg/notifications.php b/lang/vendor/backup/bg/notifications.php similarity index 100% rename from resources/lang/vendor/backup/bg/notifications.php rename to lang/vendor/backup/bg/notifications.php diff --git a/resources/lang/vendor/backup/bn/notifications.php b/lang/vendor/backup/bn/notifications.php similarity index 100% rename from resources/lang/vendor/backup/bn/notifications.php rename to lang/vendor/backup/bn/notifications.php diff --git a/resources/lang/vendor/backup/cs/notifications.php b/lang/vendor/backup/cs/notifications.php similarity index 100% rename from resources/lang/vendor/backup/cs/notifications.php rename to lang/vendor/backup/cs/notifications.php diff --git a/resources/lang/vendor/backup/da/notifications.php b/lang/vendor/backup/da/notifications.php similarity index 100% rename from resources/lang/vendor/backup/da/notifications.php rename to lang/vendor/backup/da/notifications.php diff --git a/resources/lang/vendor/backup/de/notifications.php b/lang/vendor/backup/de/notifications.php similarity index 100% rename from resources/lang/vendor/backup/de/notifications.php rename to lang/vendor/backup/de/notifications.php diff --git a/resources/lang/vendor/backup/en/notifications.php b/lang/vendor/backup/en/notifications.php similarity index 100% rename from resources/lang/vendor/backup/en/notifications.php rename to lang/vendor/backup/en/notifications.php diff --git a/resources/lang/vendor/backup/es/notifications.php b/lang/vendor/backup/es/notifications.php similarity index 100% rename from resources/lang/vendor/backup/es/notifications.php rename to lang/vendor/backup/es/notifications.php diff --git a/resources/lang/vendor/backup/fa/notifications.php b/lang/vendor/backup/fa/notifications.php similarity index 100% rename from resources/lang/vendor/backup/fa/notifications.php rename to lang/vendor/backup/fa/notifications.php diff --git a/resources/lang/vendor/backup/fi/notifications.php b/lang/vendor/backup/fi/notifications.php similarity index 100% rename from resources/lang/vendor/backup/fi/notifications.php rename to lang/vendor/backup/fi/notifications.php diff --git a/resources/lang/vendor/backup/fr/notifications.php b/lang/vendor/backup/fr/notifications.php similarity index 100% rename from resources/lang/vendor/backup/fr/notifications.php rename to lang/vendor/backup/fr/notifications.php diff --git a/resources/lang/vendor/backup/he/notifications.php b/lang/vendor/backup/he/notifications.php similarity index 100% rename from resources/lang/vendor/backup/he/notifications.php rename to lang/vendor/backup/he/notifications.php diff --git a/resources/lang/vendor/backup/hi/notifications.php b/lang/vendor/backup/hi/notifications.php similarity index 100% rename from resources/lang/vendor/backup/hi/notifications.php rename to lang/vendor/backup/hi/notifications.php diff --git a/resources/lang/vendor/backup/hr/notifications.php b/lang/vendor/backup/hr/notifications.php similarity index 100% rename from resources/lang/vendor/backup/hr/notifications.php rename to lang/vendor/backup/hr/notifications.php diff --git a/resources/lang/vendor/backup/id/notifications.php b/lang/vendor/backup/id/notifications.php similarity index 100% rename from resources/lang/vendor/backup/id/notifications.php rename to lang/vendor/backup/id/notifications.php diff --git a/resources/lang/vendor/backup/it/notifications.php b/lang/vendor/backup/it/notifications.php similarity index 100% rename from resources/lang/vendor/backup/it/notifications.php rename to lang/vendor/backup/it/notifications.php diff --git a/resources/lang/vendor/backup/ja/notifications.php b/lang/vendor/backup/ja/notifications.php similarity index 100% rename from resources/lang/vendor/backup/ja/notifications.php rename to lang/vendor/backup/ja/notifications.php diff --git a/resources/lang/vendor/backup/nl/notifications.php b/lang/vendor/backup/nl/notifications.php similarity index 100% rename from resources/lang/vendor/backup/nl/notifications.php rename to lang/vendor/backup/nl/notifications.php diff --git a/resources/lang/vendor/backup/no/notifications.php b/lang/vendor/backup/no/notifications.php similarity index 100% rename from resources/lang/vendor/backup/no/notifications.php rename to lang/vendor/backup/no/notifications.php diff --git a/resources/lang/vendor/backup/pl/notifications.php b/lang/vendor/backup/pl/notifications.php similarity index 100% rename from resources/lang/vendor/backup/pl/notifications.php rename to lang/vendor/backup/pl/notifications.php diff --git a/resources/lang/vendor/backup/pt-BR/notifications.php b/lang/vendor/backup/pt-BR/notifications.php similarity index 100% rename from resources/lang/vendor/backup/pt-BR/notifications.php rename to lang/vendor/backup/pt-BR/notifications.php diff --git a/resources/lang/vendor/backup/pt/notifications.php b/lang/vendor/backup/pt/notifications.php similarity index 100% rename from resources/lang/vendor/backup/pt/notifications.php rename to lang/vendor/backup/pt/notifications.php diff --git a/resources/lang/vendor/backup/ro/notifications.php b/lang/vendor/backup/ro/notifications.php similarity index 100% rename from resources/lang/vendor/backup/ro/notifications.php rename to lang/vendor/backup/ro/notifications.php diff --git a/resources/lang/vendor/backup/ru/notifications.php b/lang/vendor/backup/ru/notifications.php similarity index 100% rename from resources/lang/vendor/backup/ru/notifications.php rename to lang/vendor/backup/ru/notifications.php diff --git a/resources/lang/vendor/backup/tr/notifications.php b/lang/vendor/backup/tr/notifications.php similarity index 100% rename from resources/lang/vendor/backup/tr/notifications.php rename to lang/vendor/backup/tr/notifications.php diff --git a/resources/lang/vendor/backup/uk/notifications.php b/lang/vendor/backup/uk/notifications.php similarity index 100% rename from resources/lang/vendor/backup/uk/notifications.php rename to lang/vendor/backup/uk/notifications.php diff --git a/resources/lang/vendor/backup/zh-CN/notifications.php b/lang/vendor/backup/zh-CN/notifications.php similarity index 100% rename from resources/lang/vendor/backup/zh-CN/notifications.php rename to lang/vendor/backup/zh-CN/notifications.php diff --git a/resources/lang/vendor/backup/zh-TW/notifications.php b/lang/vendor/backup/zh-TW/notifications.php similarity index 100% rename from resources/lang/vendor/backup/zh-TW/notifications.php rename to lang/vendor/backup/zh-TW/notifications.php diff --git a/public/index.php b/public/index.php index 15a62bd9e7..1d69f3a289 100644 --- a/public/index.php +++ b/public/index.php @@ -46,11 +46,6 @@ $app = require_once __DIR__.'/../bootstrap/app.php'; -// https://laracasts.com/discuss/channels/general-discussion/where-do-you-set-public-directory-laravel-5 -$app->bind('path.public', function () { - return __DIR__; -}); - $kernel = $app->make(Kernel::class); $response = $kernel->handle( diff --git a/resources/views/installer/welcome.blade.php b/resources/views/installer/welcome.blade.php deleted file mode 100644 index ccc0368968..0000000000 --- a/resources/views/installer/welcome.blade.php +++ /dev/null @@ -1,21 +0,0 @@ -@extends('vendor.installer.layouts.master') - -@section('template_title') - {{ trans('installer_messages.welcome.templateTitle') }} -@endsection - -@section('title') - {{ trans('installer_messages.welcome.title') }} -@endsection - -@section('container') -

- {{ trans('installer_messages.welcome.message') }} -

-

- - {{ trans('installer_messages.welcome.next') }} - - -

-@endsection diff --git a/resources/views/vendor/installer/environment-wizard.blade.php b/resources/views/vendor/installer/environment-wizard.blade.php index d4114d59c2..cabeada558 100644 --- a/resources/views/vendor/installer/environment-wizard.blade.php +++ b/resources/views/vendor/installer/environment-wizard.blade.php @@ -254,38 +254,38 @@
-
-