Skip to content

v1.1.0

Choose a tag to compare

@arafays arafays released this 22 Jul 23:40
· 1 commit to main since this release

What's New

Correctness Fixes

  • bulk_mark_expired no longer hides jobs by setting post_status to draft — expired jobs now correctly stay in listings with badge
  • bulk_resync now normalizes employment_type to ACF select key (was storing human-readable string, breaking frontend display)
  • Sync status values unified to failed throughout (was inconsistent error/failed, causing jobs to be unfilterable)

Spec Compliance

  • location field now stored during sync (was always empty despite being registered)
  • source_url now populated during sync (was always empty despite being registered)
  • All User Story 18 requirements now met (title, description, location, employment type)

Code Quality

  • HTTP fetch consolidated — removed duplicate implementation, now uses LinkedInParser's robust version
  • LinkedInParser now uses project Logger instead of direct error_log()
  • Bulk status operations extracted to shared bulk_set_sync_status() method
  • Dead spl_autoload_register removed (was unreachable)
  • Logger UI separated into new AdminLogViewer class (single responsibility)
  • Form defaults consolidated to single source of truth
  • Select-dropdown rendering consolidated to shared render_select_field() helper
  • Log-level detection consolidated to shared Logger::get_log_level() method

Bug Fixes

  • Fixed fatal error: ->register() called nonexistent method
  • Fixed fatal error: send_json_error()wp_send_json_error()
  • Removed duplicate logs submenu registration

Requirements

  • WordPress 6.0+
  • PHP 8.0+
  • ACF plugin