Skip to content

Release v2.0

Choose a tag to compare

@theihasan theihasan released this 06 Nov 09:27
· 120 commits to main since this release
c583d3a

What's Changed

New Features

  • Add release notes auto-generation workflow (#86) (c7f774b)
  • Revert "Add caching to improve job processing performance" (1b0da7c)
  • Add caching to improve job processing performance (e239ac9)
  • feat: Enhance CountryFlag helper to handle null and empty country codes (ee7d203)
  • feat: Add symlink creation for public access to generated sitemap (f4c6ea9)
  • Refactor sitemap generation command to prevent path traversal vulnerability and improve code readability. Add tests to ensure correct sitemap creation and validate filename security. (25d1485)
  • feat: Add Google Indexing API integration for SEO optimization (#83) (d05fc19)
  • feat: Implement dynamic search autocomplete with API rate limiting (#82) (0a12f6e)
  • Add global notification component to app layout (0b593fc)
  • Add MCP configuration for Laravel Boost (9a28cac)
  • Add Livewire component for job bookmarking (7e0beb4)
  • Refactor CountryFlag helper with caching and additional methods (a4387b0)
  • Add GitHub Actions workflow for opencode PR review and remove Sentry workflow (84c5ad7)
  • Add factories and tests for JobListing and JobApplyOption (265fe25)
  • Add Analytics Dashboard access to User model (61ab329)
  • Add method to allow analytics dashboard access (15a879a)
  • Add migration for request analytics database table (a453cd3)
  • Add analytics dashboard views for Request Analytics (3ed28a9)
  • Add daily pruning for RequestAnalytics model (32943e5)
  • Add Laravel Request Analytics package (a613898)
  • feat: schedule daily sitemap generation command to automate XML sitemap updates for improved SEO (4d5f58c)
  • feat: create GenerateSitemap command to automate XML sitemap generation for improved SEO (6771185)
  • feat: add sitemap.xml for improved SEO and search engine indexing (6e8c59b)
  • feat: add job preferences page and integrate into navigation menus (4f84db4)
  • feat: implement profile editing modals for user information, social links, and work experience (82b03f1)
  • feat: eager load category relationship in job filter query (3e8bfe1)
  • feat: add unique slug constraint to job listings with index management (4378ecf)
  • Add EDITOR role to Role enum and admin access gate (5786d26)
  • Add Batchable trait to ProcessPackagesCommand (7208356)
  • Add content formatter package processing schedule (c5f1ea1)
  • Add command to process pending and failed packages (4e457b4)
  • Add apply link support for content formatter (0aa8428)
  • Add apply_link to Package model fillable attributes (10c5d59)
  • Add apply_link column to packages table (aeb1633)
  • Add optional application link field to job creation form (b96792d)
  • Add country code and contact details handling in job extraction (30b0717)
  • Add Job Listing relationship to Package model (26c2a98)
  • Add logging and improve job formatting process (61031c7)
  • Add content processing dashboard widgets (caab782)
  • Add DeepSeek API key to .env.example (341a872)
  • Add content formatter routes and view (ef91422)
  • Add FormatContentJob for parsing job postings (9ead61f)
  • Add Package model for content formatting workflow (a7f5464)
  • Add packages migration and content formatter controller (5b08cf7)
  • Add content formatter service provider (f4ffc7f)
  • Add content formatter configuration file (5027434)
  • Add job_id to JobListing model fillable attributes (2fce435)
  • Add debug step to deploy workflow for SERVER_IP variable (3ea5125)
  • Add old authentication views for password confirmation, password reset, login, registration, and forgot password (00ff550)
  • add missing breeze component (4c19cf0)
  • test: add feature tests for job caching and cache invalidation (47dbb38)
  • test: add unit tests for RedisCache helper methods (315cea4)
  • feat: implement RedisCache helper for managing cache keys with pattern support (5a13142)
  • feat: update last_login_at on user login to track user activity (d92a2d0)
  • feat: add last_login_at column to users table for tracking user activity (4aaff70)
  • feat: add event listener for user login to enhance metrics tracking (7ec058a)
  • feat: implement meta tag generation for various pages to enhance SEO (f44d619)
  • feat: enhance job filtering by prioritizing user country and improving query structure (a03fc60)
  • Fix Laravel Breeze components and add Pest testing (3d7fbe3)
  • feat: update deployment workflow for PHP version and improve error handling (5ece99b)
  • feat: add deployment workflow and exclude list for GitHub Actions (93201cd)
  • feat: enhance Redis connection handling and error logging in PrometheusServiceProvider (bb7a8cd)
  • feat: schedule CollectMetricsJob in bootstrap (aad41ef)
  • feat: add CollectMetricsJob for background processing (3c212d9)
  • feat: schedule metrics collection commands (6f44d91)
  • feat: update metrics route to use MetricsController (c35e0d7)
  • feat: register metrics event listeners in AppServiceProvider (6041f81)
  • feat: add MetricsEventListener for automatic event tracking (949fb05)
  • feat: add MetricsController for Prometheus endpoint (66ada89)
  • feat: add database and queue metrics to PrometheusServiceProvider (bd1222c)
  • feat: add CollectMetricsCommand for scheduled metrics (0099ef9)
  • feat: add MetricsService with business metrics collection (a153bb5)
  • feat(metrics): enhance PrometheusMiddleware with node-level metrics collection (5f652cd)
  • feat(metrics): add bucket boundaries to histogram metrics in PrometheusMiddleware (de9e9a7)
  • feat(metrics): add histogram metrics to PrometheusMiddleware for HTTP request duration tracking (a8ef059)
  • feat(metrics): refactor PrometheusMiddleware to initialize metrics in a dedicated method (57dd5ce)
  • feat(metrics): enhance PrometheusMiddleware with detailed memory usage metrics (089936f)
  • feat(metrics): add memory usage gauge to PrometheusMiddleware (98ba8e3)
  • feat(metrics): enhance PrometheusMiddleware with duration and active requests gauges (aff0006)
  • feat(metrics): add PrometheusMiddleware for HTTP request metrics collection (f4be262)
  • feat(Caching): enhance country-aware job caching and fallback mechanisms (5ae1d96)
  • feat(DetectsUserCountry): add trait for user country detection and caching (3ac1fa3)
  • feat(CountryIndicator, Cache): enhance user country handling and caching (f83cf78)
  • feat(HomePage, Job): implement country-aware caching and user country detection (43f00c3)
  • feat(Caches): add country-aware caching for job listings, latest jobs, and most viewed jobs (49908a9)
  • feat(JobDTO, JobListing): add latitude and longitude fields for job listings (21dba02)
  • feat(metrics): add prometheus service provider for metrics collection (82c6fab)
  • feat(metrics): return user and job counts in metrics endpoint (57b028d)
  • feat(metrics): add prometheus metrics endpoint (8bd90c7)
  • build: add prometheus client and update dependencies (5d490b2)
  • feat(JobPageCache): implement pagination with random job selection (84b1cee)
  • build: add flowframe/laravel-trend package dependency (c1d2043)
  • feat(widgets): add jobs added chart with time period filters (6393d8b)
  • refactor(api): remove rate limit check and add updated_at timestamp (5dda351)
  • feat(widgets): add api request stats overview widget (8dcdf18)
  • feat(job-filter): add job count persistence and visibility tracking (46ce597)
  • feat(scheduler): enable job notifications and model pruning (094f318)
  • feat(api): improve api key rate limit reset logic (26f04f5)
  • feat(api): add rate limit reset check for job API keys (6ce1f46)
  • refactor(ApiKey): add rate_limit_reset to fillable fields (563deb0)
  • feat(apply-job): add support for multiple application options (4b7e67e)
  • feat(job): add apply options relationship and handling (f6bd94c)
  • feat: add JobApplyOption model, DTO and migration (b99afbc)
  • feat(StoreJobs): add jobId check before creating job listing (15f11a1)
  • feat(job): add jobId field to JobDTO and migration (b72ab96)
  • docs: add project rules documentation for Geezap (900634a)
  • feat(email-template): improve weekly digest email layout and compatibility (ad65faa)
  • feat(notification): add email frequency check for job notifications (2dba57f)
  • feat(notifications): implement region-based job filtering for notifications (57cd4ae)
  • feat(notifications): enhance job notification logic with user preferences (ae71770)
  • feat(header): add preferences link to auth dropdown menu (c531e1e)
  • feat: remove guest preferences feature (c15c633)
  • feat(profile): redesign preferences page with improved layout and search (3cc93b3)
  • refactor(mail): update failover mailers order and add brevo (728e682)
  • feat(profile): add dynamic show more/less functionality to preferences (251536a)
  • feat(user-preferences): add emails_per_frequency field to user preferences (db7fb35)
  • feat(profile): redesign preferences layout with 3-column grid (0987700)
  • feat(menu): add job preferences link for guest users (664c01f)
  • feat(job preferences): add job preferences for guests and authenticated users (2da1ab4)
  • feat(job-recommendations): add caching layer for job recommendations (f1c9f8a)
  • feat(preferences): add user and guest preferences management (a8fe610)
  • feat(console): add command to set default user preferences (191aec8)
  • feat(models): add user and guest preference models with migrations (e622e79)
  • feat(search): add salary fields and publisher to searchable attributes (bf0d2e8)
  • feat(homepage): replace hardcoded country list with dynamic top countries (9f891a5)
  • feat(models): add country flag emoji support (87012d9)
  • feat(api): track last request time for API keys (ee9ae9e)
  • feat(ApiKeyResource): set default value for api_name select (e5913e5)
  • feat(JobListing): add is_remote boolean cast for job listings (3480db1)
  • feat(search): add is_remote field to searchable attributes (aa06f40)
  • Add a backup database config (d59a263)
  • add digest queue to horizon (cc87af4)
  • feat(homepage): add country filter and enhance search UI (59dabc0)
  • feat(cache): add CountriesCache to manage country data caching (3055af2)
  • feat(search): add search functionality to JobListing model (2f677c5)

Bug Fixes

  • fix: optimize related jobs query performance with hash-based randomization (#81) (c58568a)
  • Fix Sitemap Generation to Use having() Instead of where() (7fbe4c0)
  • fix slow DB queries and N+1s across job pages and StoreJobs (#80) (f8d9a75)
  • Fix N+1 query in JobListingCache by eager loading applyOptions relationship (7bff5c5)
  • fix: update deployment script to exclude development dependencies for optimized performance (e00778c)
  • fix: remove unnecessary ownership change in deployment script and optimize application performance (dc5f8d5)
  • fix: update deployment script to set ownership for storage and cache directories (bff0d2f)
  • fix: n+1 problem for apply option (d859e13)
  • Update dependencies and fix CSS styles in Filament components (122cf1e)
  • Fix JSON formatting and set default remote status (2231265)
  • fix:batch trait issue (94de800)
  • fix:batchable namespace (56e1222)
  • Fix admin access gate condition using Role enum (a481121)
  • Fix SSH command to use deploy user in deploy workflow (7066010)
  • Improve SERVER_IP debug output in deploy workflow (4426888)
  • fix:loading effect possition during job filter (3fdd1b5)
  • Revert "Fix cache invalidation issue for redis" (04ffdfd)
  • fix:test cases (336d070)
  • fix:test cases (d022577)
  • fix: update PHPUnit configuration to use Redis for caching (e3c3d94)
  • fix: replace Cache facade with RedisCache helper for job page and latest jobs cache invalidation (d2db647)
  • fix: replace Cache facade with RedisCache helper for job filter and listing cache invalidation (6921372)
  • fix: replace Cache facade with RedisCache helper in JobListingObserver and JobPageCache (e10cde6)
  • fix: replace Cache facade with RedisCache helper for invalidating job recommendations (15103b6)
  • fix: replace Cache facade with RedisCache helper for cache invalidation (9f27be4)
  • Fix deployment workflow and update dependencies (58d1147)
  • fix(config): change redis queue connection from default to queue (26da794)
  • refactor(JobFilter): remove debug logging and unused method (8e1ab9f)
  • fix(scheduler): update job schedule frequency and days (4815290)
  • fix(schedule): update NotifyUserAboutNewJobs frequency to Thursdays and Saturdays (403a12b)
  • fix(schedule): update DispatchJobCategories schedule to run on specific days (7e20603)
  • fix: correct job application check query (683e985)
  • fix(emails): update unsubscribe link to use correct route (f826300)
  • fix: remove email frequency check for job notifications (ed79184)
  • fix: correct column name in job recommendation query (a978225)
  • fix(emails): handle null slug in weekly digest email (5c73083)
  • fix(profile): remove 'never' email option and disable emails per period (c8af1af)
  • fix(profile): correct email notifications checkbox name and value (2f310a5)
  • Fix type in save-for-letter.blade.php: letter -> later (edae2cf)
  • fix(profile): improve category selection handling in preferences (8940080)
  • fix(views): display raw country value instead of country object (e35d350)
  • fix: cast is_remote to bool in searchable array (354c7d5)
  • fix:ai cover letter generation (36999c6)
  • fix:route name not found (8ca5a82)

Improvements & Refactoring

  • Simplify Job dispatch and refactor test cases (#85) (c583d3a)
  • refactor: Simplify JobListingObserver by consolidating cache invalidation and streamlining methods (f4476bc)
  • refactor: Optimize job processing in StoreJobs to handle large datasets without memory exhaustion (7c874e4)
  • Remove UI elements and clean up job details page (dccfa1d)
  • Refactor Job Details Page UI with Enhanced Design and Responsiveness (33219ce)
  • Update deployment workflow to prevent asset build directory cleanup (8bb6298)
  • Refactor GitHub Actions workflow for opencode (fa4e54f)
  • Refactor Related Job Listings Cache retrieval logic (1489041)
  • refactor: update latest jobs component to enhance user interaction and accessibility (5d9f905)
  • refactor: update most viewed jobs component to improve accessibility and user interaction (1aeaef2)
  • UI refactoring light theme support (#76) (3eb8e33)
  • Refactor Livewire component refresh logic in job index view (d5038db)
  • Refactor job handling logic to improve duplicate prevention (89357f1)
  • refactor: streamline metrics collection by removing redundant methods and updating job application metrics source (bc5a41e)
  • refactor: streamline metrics collection by removing redundant methods and updating job application metrics source (43af16e)
  • refactor: remove command scheduling from console routes (29a9c92)
  • refactor: dispatch job instead of direct execution in command (5c88b12)
  • refactor: use collections in collectCpuMetrics method (0c33f6a)
  • refactor(CountryAwareJobPageCache): simplify job fetching logic and improve cache invalidation (3803c0c)
  • refactor(metrics): switch from APC to Redis storage and expose metrics in Prometheus format (c79806b)
  • refactor(JobListing): replace Prunable with MassPrunable trait (c3f2a37)
  • perf(Caches): optimize job page query by replacing inRandomOrder with selectRaw (a3e5cd4)
  • perf(Caches): optimize related job listing cache query (c3beb4a)
  • refactor(database): unify redis configuration to use common env vars (f90d13f)
  • refactor(database): update redis queue config to use unified env vars (7857805)
  • refactor(database): simplify redis configuration by removing unused options (d5a0640)
  • refactor: reorganize imports and register Livewire component (a234310)
  • refactor(config): change redis connections to use 'default' consistently (febabd9)
  • refactor(schedule): change job dispatch frequency to every six hours (460a778)
  • refactor: remove rate limit check from job API key query (52d38d5)
  • refactor(ApiKeyResource): replace api_secret column with rate_limit_reset (0c64c7c)
  • refactor(jobs): improve job dispatching and error handling (e84924e)
  • perf(assets): optimize asset loading and analytics script (fb499ed)
  • build: optimize vite build configuration (a6274cc)
  • refactor(views): remove guest job preferences link from mobile menu (5d74357)
  • refactor(views): remove guest job preferences link from desktop menu (cd3150f)
  • refactor(preferences): rename job topics and regions fields for consistency (d8f08d6)
  • refactor(social-login): improve social login buttons styling and remove facebook (b33a1c3)
  • refactor(JobRecommendationService): simplify guest job recommendation query (a540712)
  • refactor: remove hardcoded queue name from job constructor (78dd10e)
  • refactor(mail): reorder failover mailers priority (f9b74af)
  • Optimize browse job filter queries (b8f8646)
  • refactor(MostViewedJobsCache): increase limit of most viewed jobs from 3 to 4 (34075b9)
  • refactor(views): replace hardcoded job counts with dynamic queries (e36e245)
  • refactor(JobFilter): optimize job query logic for better readability and maintainability (096fc61)
  • perf(Caches): optimize memory usage in CountriesCache by selecting specific fields (02cb7e0)
  • refactor(views): rename 'remote' to 'is_remote' for clarity and update option text (779a1ba)
  • refactor(JobFilter): optimize search query handling for job listings (9ab5380)

Documentation

Maintenance

  • Update text color for search suggestions (713a7ef)
  • Update Job Detail SEO meta image logic (3365eef)
  • Update GitHub Actions workflow for opencode (6b6156e)
  • Update laravel-request-analytics package to version 1.3.0 and enhance date range filter functionality in analytics views (963f3a6)
  • Update laravel-request-analytics package to version 1.2.0 in composer.lock (c5830f2)
  • chore: update robots.txt to enhance crawling rules and disallow access to sensitive areas (df9b846)
  • chore: update deployment workflow to include Node.js setup, npm dependency installation, and asset building (629c578)
  • style: update contact page styles for improved accessibility and visual consistency (ec99b77)
  • Update job category prompt instructions (d95d3cb)
  • Update content formatter placeholder description text (0b64a08)
  • Update Composer dependencies Update route path for content formatter store endpoint (ecb9693)
  • Update composer.lock (3e654b7)
  • Update FormatContentJob.php (9d8397a)
  • Update deploy workflow to use environment variable for server IP (ce6e86d)
  • Update deploy workflow and improve SSH setup (31f9f99)
  • Update deployment workflow to use PHP 8.3 (c4ac9d5)
  • chore(phpunit): update environment variables for testing configuration (93912ce)
  • build: update laravel/framework dependency to ^12.0 (0d5c870)
  • style(views): update apply job button styling for better visual appeal (8abd3c7)

Other Changes

  • Disable Google indexing and simplify backup schedule (2617cec)
  • Enhance Related Jobs section with modern, detailed card design (41e2106)
  • Replace Ubuntu font with JetBrains Mono for system-wide font (e7aa9b3)
  • Replace hardcoded bookmark buttons with Livewire component (de2ef70)
  • Enhance deployment workflow in GitHub Actions (a3d730b)
  • Enhance styling for body background and remove Preferences menu item from desktop and mobile menus (cf6cc43)
  • reinstall request analytics (e1b6f0d)
  • Remove laravel-request-analytics package and associated views and components from the project. (9816ae1)
  • Rewrite social meta generation (#78) (cf56abf)
  • style: enhance contact page layout and content for improved user engagement and accessibility (480f469)
  • revert the breeze component for the first version compatibilty. (b3c8064)
  • Remove verbose logging from FormatContentJob (1b14eea)
  • Improve empty state styling for recent submissions (1be0dbe)
  • cretae composer.json for content formatter (a5d5863)
  • create a new package for facebook job post formating (78bf2c8)
  • Use secrets.SERVER_IP instead of vars.SERVER_IP in deploy workflow (9972a90)
  • Disable public key logging in SSH agent step (932292a)
  • Implement database backup (#75) (2f02a1f)
  • Simplify deployment workflow and switch to SSH-based deploy (0dc6f48)
  • Comment out business metrics job in scheduler (77bba64)
  • Comment out system metrics job from scheduler (9501870)
  • Implement cover letter variation generation based on user feedback (92cac08)
  • Enhance cover letter chat functionality with loading indicators (5e278b8)
  • Enhance JobFilter component with error handling and initialization logic (d47201d)
  • Implement AI-powered cover letter generator with professional template system (#74) (b799f55)
  • AI response metrics for promethous will be implement later (54c92c1)
  • AI response metrics for promethous will be implement later (cc3aa81)
  • delete exisitng ai chat implementation (58a920d)
  • perf(JobPageCache): reduce perPage items from 10 to 6 to improve performance (87752f9)
  • build(cache): change default cache store from database to redis (f0bd1eb)
  • perf(widgets): decrease polling interval for ApiRequestStats to 3s (d5858d6)
  • perf(HomePageController): increase top countries limit from 5 to 10 (71cee2e)
  • perf(Caches): increase job views cache ttl from 1 to 5 minutes (fc58e2b)
  • chnage preference template and reorganize (b89d19a)
  • formating prompt for cover letter generation (d3219ae)
  • remove unwanted comment (9d3fb9d)
  • enhance some prompt generation rule (0134031)
  • modify google font loading (cf52888)
  • remove unused comment (460afc3)
  • Write command for database sync (e01da45)
  • Remove exception event (c08c18f)
  • Capture country only for homepage to reduce unwanted job dispatch (3207976)
  • Remove unused rate limiter (fc5b799)
  • Move country count to cache. It increase almost 2.5s loading time (d4f7362)
  • Remove country listing and select specific field from job listing for most viewed job. It increase almost 6s of loading time (a509f79)
  • style(views): enhance job categories section with improved UI and animations (7acbdc3)
  • style(views): improve layout and styling of most-viewed-jobs component (48800a1)
  • style(home/latestJobs): enhance UI with gradient backgrounds and hover effects (605e623)

Contributors

Full Changelog: v1.4.0...v2.0