What's Changed
- chore: Update upgrade DB packages by @renovate[bot] in #1374
- Internalize file rotation logic from goravel/file-rotatelogs by @hwbrzzl with @Copilot in #1375
- chore: Update non-major dependencies by @renovate[bot] in #1373
- feat: [#726] Add HTTP server and client telemetry instrumentation [5] by @krishankumar01 in #1326
- chore: optimize runner tests for Windows by @hwbrzzl in #1377
- chore: Update non-major dependencies by @renovate[bot] in #1378
- fix: runner stuck by @hwbrzzl in #1381
- chore: Update non-major dependencies by @renovate[bot] in #1382
- feat: [#849] Add table support to the console context by @krishankumar01 in #1380
- feat: [#546] artisan command up and down to set website Maintenance mode by @praem90 in #1198
- feat: laravel collection by @ahmed3mar in #1134
- Increase route module coverage for factory, provider, and runner wiring paths by @hwbrzzl with @Copilot in #1384
- chore: optimize interface by @hwbrzzl in #1389
- Increase crypt module coverage by exercising AES key validation and failure paths by @hwbrzzl with @Copilot in #1385
- Increase filesystem module test coverage for storage, service provider, and file facade paths by @hwbrzzl with @Copilot in #1387
- Increase mail module test coverage to 70%+ with focused unit tests by @hwbrzzl with @Copilot in #1386
- Increase hash module coverage with targeted tests for driver selection and service provider paths by @hwbrzzl with @Copilot in #1388
- chore: add AI instructions file by @h2zi in #1393
- Increase core framework coverage via targeted service provider and builder-path tests by @hwbrzzl with @Copilot in #1391
- Increase infrastructure module coverage by adding Process/Packages/Log/Schedule tests and fixing errors.As target forwarding by @hwbrzzl with @Copilot in #1392
- test: expand service-layer coverage across Event, Queue, gRPC, Cache, and Console by @hwbrzzl with @Copilot in #1390
- chore: Update non-major dependencies by @renovate[bot] in #1399
- chore: add generate flag to artisan build command by @almas-x in #1402
- feat: [#911] add query context accessor by @almas-x in #1401
- chore: optimize agents by @hwbrzzl in #1396
- Pass unset rollback options through to migrator (remove forced batch=1) by @hwbrzzl with @Copilot in #1406
- collect: fix lazy channel draining leaks and align collection edge-case behavior by @hwbrzzl with @Copilot in #1409
- feat: [#915] add AI module by @hwbrzzl in #1410
- chore: Update non-major dependencies by @renovate[bot] in #1413
- refactor: implement new validation engine infrastructure by @h2zi in #1397
- feat: add builtin validation rules and filters by @h2zi in #1416
- fix(validation): preserve wildcard slice shape, nil traversal, and message priority by @hwbrzzl in #1417
- chore: Update non-major dependencies by @renovate[bot] in #1420
- feat: add create-update-pr skill by @hwbrzzl in #1419
- Fix artisan make imports to use full go module path by @hwbrzzl with @Copilot in #1422
- chore: avoid installing ai facade for now by @hwbrzzl in #1424
- feat: [#916] Implement AI module with provider resolver and OpenAI driver by @hwbrzzl in #1421
- fix: [#934] Modify queue database connection when installing db driver by @hwbrzzl in #1425
- chore: Update codecov/codecov-action action to v6 by @renovate[bot] in #1428
- chore: Update non-major dependencies by @renovate[bot] in #1427
- refactor: replace manual path construction with centralized path helpers by @hwbrzzl in #1426
- chore: Update module github.com/openai/openai-go to v3 by @renovate[bot] in #1429
- refactor(foundation): decouple up/down commands and suppress unregistered binding noise by @hwbrzzl in #1431
- chore: Update module github.com/openai/openai-go to v3 by @renovate[bot] in #1430
- feat(ai): add make:agent artisan command by @hwbrzzl in #1432
- chore: Update non-major dependencies by @renovate[bot] in #1434
- feat: add DriverWithReceive interface for batch-consuming queue drivers by @h2zi in #1435
- feat: [#881] add imports alias support in package setup by @almas-x in #1437
- chore: add GitHub Copilot instructions by @hwbrzzl in #1438
- ci: add workflow to test in goravel/example by @hwbrzzl in #1439
- feat(ai): add streaming support to Conversation by @hwbrzzl in #1433
- chore: Update non-major dependencies by @renovate[bot] in #1440
- chore: Update actions/cache action to v5 by @renovate[bot] in #1441
- test(orm): cover Select(Associations).Update many-to-many behavior by @hwbrzzl in #1442
- chore: add solve-pr-comments agent skill by @hwbrzzl in #1444
- feat(ai): add tool calling support by @hwbrzzl in #1443
- feat(ai): add tool calling support to Stream() by @hwbrzzl in #1445
- chore: Update non-major dependencies by @renovate[bot] in #1448
- fix(auth): reject jwt token when guard mismatches (#924) by @krishankumar01 in #1446
- fix(readme): add inline-flex style to contributor links by @hwbrzzl in #1450
- feat: add gRPC TLS/mTLS transport credentials support by @LinboLen in #1451
- feat(ai): add prompt middleware support by @hwbrzzl in #1449
- feat(ai): add default agent middleware by @hwbrzzl in #1453
- chore: Update non-major dependencies to e10c466 by @renovate[bot] in #1454
- feat(ai): add attachment support by @hwbrzzl in #1455
- feat(ai): switch OpenAI provider to responses API by @hwbrzzl in #1457
- feat(ai): add attachment helper subpackages by @hwbrzzl in #1458
- feat(ai): add attachment upload support by @hwbrzzl in #1459
- fix: [#946] stop WithContext from leaking framework context keys by @krishankumar01 in #1456
- feat(ai): add image generation support by @hwbrzzl in #1461
- feat(ai): support provider-managed files by @hwbrzzl in #1460
- fix(ai): remove context from image response content by @hwbrzzl in #1462
- chore: Update non-major dependencies by @renovate[bot] in #1464
- feat(ai): add image storage helpers by @hwbrzzl in #1465
- refactor(ai): rename agent response interfaces by @hwbrzzl in #1466
- chore: Update non-major dependencies by @renovate[bot] in #1468
- feat(ai): add audio generation support by @hwbrzzl in #1467
- feat(ai): add transcription support by @hwbrzzl in #1470
- chore: Update non-major dependencies by @renovate[bot] in #1471
- chore: Update non-major dependencies by @renovate[bot] in #1472
- feat(ai): expose text max_tokens in provider config by @hwbrzzl in #1473
- chore: Update codecov/codecov-action action to v7 by @renovate[bot] in #1479
- chore: Update non-major dependencies by @renovate[bot] in #1478
- feat: [#726] Add telemetry lifecycle management [6] by @krishankumar01 in #1474
- feat(ai): add provider failover by @goravel-coder in #1480
- feat: [#726] Harden OTLP exporter configuration [7] by @krishankumar01 in #1475
- feat: support cache maintenance mode driver by @goravel-coder in #1481
- fix: [#925] rotate session on login and logout to prevent session fixation by @krishankumar01 in #1447
- fix: [#726] scope log handler cache to the application by @krishankumar01 in #1482
- feat(ai): add failover rule helpers by @goravel-coder in #1484
- fix: update maintenance mode route dependency by @goravel-coder in #1485
- fix: read maintenance config from app config by @goravel-coder in #1486
- feat(ai): add make tool command by @goravel-coder in #1487
- feat(ai): customize make command paths by @goravel-coder in #1488
- fix: [#942] use connection driver for schema by @goravel-coder in #1489
- fix: [#941] separate raw mail text from views by @goravel-coder in #1491
- feat: add WithTitle option to AI attachment options by @goravel-coder in #1492
- chore: Update non-major dependencies by @renovate[bot] in #1493
- test: add regression coverage for full generator import paths by @goravel-coder in #1494
- fix: [#945] ignore empty cache prefix by @krishankumar01 in #1496
- feat: add Shutdownable interface for graceful console signal handling by @goravel-coder in #1495
- feat: [#967] add wildcard app.disabled_runners config and remove app.auto_run by @goravel-coder in #1499
- feat: [#959] add WithCommandsFilter builder to scope registered Artisan commands by @goravel-coder in #1500
- feat: [#962] allow extension packages to register view directories by @goravel-coder in #1502
- feat: validation error messages should use the framework translation … by @h2zi in #1436
- feat: add lang:publish command, remove hardcoded Publishes by @goravel-coder in #1503
- chore: Update actions/checkout action to v7 by @renovate[bot] in #1505
- chore: Update non-major dependencies to 87f3d3e by @renovate[bot] in #1504
- feat: [#726] database auto instrumentation [8] by @krishankumar01 in #1477
- feat: rename grpc.servers config key to grpc.clients by @goravel-coder in #1506
- feat: [#970] support withoutMiddleware similar to Laravel by @u-wlkjyy in #1497
- feat: add missing mock factory methods by @goravel-coder in #1507
- fix: reorder configureMiddleware before Boot so provider routes survive engine rebuild (#975) by @goravel-coder in #1508
- fix: change Middleware from func to interface for stable WithoutMiddleware comparison by @goravel-coder in #1511
- fix: reset database connections when the application rebuilds by @krishankumar01 in #1512
- chore: add ai drivers by @hwbrzzl in #1514
- fix: return the requested key on a translation miss instead of a stale cached key by @krishankumar01 in #1513
- chore: Update non-major dependencies by @renovate[bot] in #1518
- chore: Update actions/cache action to v6 by @renovate[bot] in #1519
- fix: resolve http telemetry middleware lazily by @krishankumar01 in #1517
- feat: optimize v1.18.0 by @hwbrzzl in #1515
New Contributors
Full Changelog: v1.17.3...v1.18.0