# Changelog

## [3.0.6] - 2026-04-28

Storefront:
- Added refreshed local content loading for brands and news articles to improve performance and reliability.
- Reworked the Brands page and brand detail pages to use refreshed local content data.
- Added dedicated News article pages with related articles, cleaner article rendering, sharing metadata, and structured data.
- Updated the News listing and homepage news cards to keep readers on Cybrient before linking out to source articles.
- Improved shared content handling and encoding cleanup for brand and news data.
- Added richer page metadata support for news and social sharing.
- Refined the homepage desktop hero copy sizing and added a stable four-column sequenced entrance for shared division cards on Home and About.
- Fixed UTF-8 handling in public news article rendering so currency symbols and special characters display correctly.
- Added the Team Secure international domain listing on its brand detail page.

App:
- Added and refined the Careers company accounts dashboard experience.
- Reworked company account detail rendering with a cleaner account profile, active account manager list, logo validation, and safer output.
- Improved the missing-addresses workflow so incomplete company address records are caught more reliably.
- Updated missing-address counts, menu badges, pagination, loading states, placeholder-logo detection, and next-company navigation.
- Removed the hard requirement for company website URLs when editing missing-address records.
- Rebuilt the employers list with modern cards, search, status filtering, pagination, status badges, and safer rendering.
- Improved staff profile and permission editing with clearer save handling and bulk controls.
- Expanded vendor contact management with better filtering, technology tagging, edit controls, and permission-aware actions.
- Updated dashboard navigation for Careers, employers, company accounts, and data cleanup workflows.

Forms and security:
- Hardened contact, partnership, and white-label form handling with stronger validation and abuse prevention.
- Improved form submission throttling and duplicate-submission protection.
- Improved form notifications and audit records while keeping public-facing flows cleaner.
- Added stronger validation and abuse handling to wizard submissions.
- Improved suspicious-submission handling with cleaner rejection and session recovery.
- Hardened public article rendering against unsafe embedded content, links, and media.

API and operations:
- Improved API rate-limit reliability.
- Reworked the skill harmonization job for safer execution, clearer reporting, and safer database updates.
- Corrected skill pattern handling for CI/CD.

## [3.0.5] - 2026-04-11

- Refined Landing page responsive behavior for the “Our mission” hero section across small mobile widths and the 768px breakpoint edge.
- Stabilized the Landing page brand-statement heading on mobile and tablet breakpoints without changing translation strings or shared content.
- Adjusted Landing page `service-sec3` news-card layout for tablet widths so 820px to 1024px render in a cleaner single-column flow, with extra spacing between cards for 820px to 912px.

## [3.0.4] - 2026-04-09

- Updated open graph image
- New Happy Monday thumbnail
- About us images Fixed
- Updated translations

## [3.0.3] - 2026-03-19

- Stabilized dark-mode rendering across the storefront on desktop and mobile, including header contrast, button readability, shared section text colors, and Samsung-specific mobile fixes.
- Refined the homepage with better section ordering, improved hero and media behavior, corrected large-screen card alignment, and a more polished animated brand-statement background.
- Unified shared homepage and About components further so the intro, brand statement, and divisions remain visually and structurally aligned.
- Improved subpage polish with cleaner banner rendering, the SVG-based preloader shine, and more consistent dark-theme presentation across templates.
- Extended translated brand category handling so filters, brand metadata, and single-brand division labels use the same label set.
- Restored and refined brand detail behavior, including screenshot galleries, translated availability messaging, and improved multilingual description handling.
- Continued improving multilingual routing, translation coverage, SEO metadata, sharing imagery, and footer company details.

## [3.0.2] - 2026-03-16

- Finalized the main storefront redesign across the homepage, About, Brands, brand detail, Contact, legal pages, and footer for the new production release.
- Consolidated shared homepage and About building blocks so the main intro, brand statement, and divisions stay synchronized across pages.
- Improved homepage media and layout behavior, including hero video handling, news card alignment, spacing, mobile readability, and section ordering.
- Expanded brand detail pages with screenshot galleries, domain and availability listings, translated brand descriptions, status notices, version display, and improved brand information cards.
- Strengthened multilingual behavior with localized routes, legacy translation fallback handling, translated brand descriptions, and broader language coverage.
- Improved SEO and sharing metadata with stronger Swiss positioning, page-specific Open Graph imagery, and updated company details in the footer.
- Refined mobile and desktop header behavior, button contrast, language controls, menu states, and shared dark-theme consistency.

## [3.0.1] - 2026-03-15

- Introduced the new storefront structure with shared templates for navigation, footer, legal content, and repeated section layouts.
- Expanded multilingual support across English, French, German, and Italian, including translated routes, labels, and page-specific content.
- Reworked the homepage structure, visual hierarchy, brand discovery areas, divisions presentation, footer, and shared transitions.
- Updated the About page to align with the current site content and synchronized the four division panels with the homepage.
- Improved the Brands list and brand detail experience with cleaner layouts, richer brand information, gallery support, notices, and changelog-based version display.
- Updated contact-related pages to use the current embedded form integrations, dark visual treatment, and shared tab navigation.
- Brought the legal pages in line with the current site content and hero treatment for Privacy Policy, Terms of Use, and Impressum.
- Added stronger shared metadata, hreflang handling, accessibility improvements, and more selective front-end asset loading.

## [3.0.0] - 2026-03-15

- Initial consolidated redesign pass for the new frontend experience.

## [2.2.9] - 2026-02-02 [stable]
- Improvement of wizard
- New translations for frontend
- New translations for wizard
- New application release
- New API app released
- New tailwinds dashboard released
- Upgrade of geo assets

## [2.2.8] - 2025-08-21 [stable]
Storefront:
- Added new brand Staff Leasing
- Added Acquisitions page
- Added Affiliates page
- Added White Label page
- Updated displayCountryList
- Updated getAffiliatePage
- Updated getWhitelabelPage
- Updated getAcquisitionPage
- Updated getContactForm
- Updated transitions

App:
- Updated checkCareerInvalidLogos method
- Other page updates in dashboard
- Deployed new crons to sustain growth
- Updated Wizard

## [2.2.7] - 2025-02-18 [stable]
Storefront:
- Updated translations
- Reinstated wizardeasy as a brand
- Updated wizardeasy thumbnail for the brand
- Added CustomMade.ai

Common:
- Restructured $brands array
- Removed crescendo.ai (because sold)
- Added CustomMade.ai brand
- Added default privacy policy and terms of use link for cybrient.com in emails

App:
- Added Cron for Digilegal
- Added a script to detect and fix broken logos on careers
- Multiple improvements to companies post actions
- Added a script to automatically fix and harmonize company slugs (in urls)
- Consolidated logs outside app

Wizard:
- Updated translations

## [2.2.6] - 2025-01-25 [stable]
App
- Removed the quotes from dashboard
- Added "companies.fix.logo" in post
- Added Fix Company Logo view
- Added Check on company logos to trigger a fix if logo is not square
- Added Digilegal cron to correct languages summary
- Added consolidated.css to start regrouping all the css in one place
- Added checkCareerInvalidLogos method
- Updated detectLanguage method
- Updated callOpenAiApi method
- Fixed the login view 

Wizard
- Sync updated the new LLM from staffaugmentation.ai
- Updated the dates to synchronize with the loaded language using setlocale

## [2.2.5] - 2025-01-16 [stable]
- Added Geniebot

## [2.2.4] - 2024-12-20 [stable]
Website
- Reading the is_sold parameter
- Display view in BrandSingle to take is_sold parameter
- Updated translations

API
- Improved API
- Added the is_sold capability to display on brands

App
- Improved insertJobListing method
- Improved insertCompany method
- Added sanitizeTextUtf8 method
- Added ability to merge companies

## [2.2.3] - 2024-12-20 [stable]
- Clean up of htaccess rewrites
- Added ultime.ai assets
- Removed unused domains
- Updated translations

## [2.2.21] - 2024-11-28 [stable]
- Increased security
- Updated dashboard for digilegal
- Updated phone number
- Updated translations
- Updated tools icons
- Updated frameworks icons
- Updated infrastructure icons
- Updated wizard
- Added security.txt
- Added ultime.ai logo and listing

## [2.2.1] - 2024-09-01 [stable]
Summer is (already) over :|
- Removed h1 animation in frontend pages. Unnecessary.
- Deployed Inter font everywhere
- Remove references to old font awesome library
- Email functions update to contact
- Email functions update to partnership

## [2.2.0] - 2024-08-31 [stable]
- Added Cybrient.AI
- Added NameFusion
- Added PBX system
- Revised the Cybrient Staff Leasing division into IT Workforce
- Update translations

## [2.1.9] - 2024-08-11 [stable]
- Added image description in single images inside brand view
- Added Cyber security category in brands
- Added Services category in brands
- Fixed orphin categories for brands related to divisions
- Cleaned up footer

## [2.1.8] - 2024-05-23 [stable]
Storefront
- Added Dashboard.dev
- Added Hostlocal.ai
- Added Techbyte.ch

App
- Added skills extraction from JD
- Added skills harmonization
- Added thumbnail harmonization
- Added checkCareerMissingAddresses method to the dashboard

DB
- Consolidated jobs and companies in jobs DB. Updated the mapping and dependencies in all views.

## [2.1.7] - 2024-05-12 [stable]
[frontend]
- Added HostLocal.AI
- Added KYC / KYB App (Alpha)
- Added TechByte.ch
- Added Membership 
	- Switzerland Global Enterprise
	- SwissICT members
	- OWASP (The Open Web Application Security Project)
- Updated translations

[app]
wizard
- Added hostlocal.ai flow
- Added techbyte.ch flow

## [2.1.6] - 2024-04-14 [stable]
[frontend]
- Changed the dark header on mouse scroll
- Added screenshots for dashboard.dev
- Other minor css changes

## [2.1.5] - 2024-04-14 [stable]
[app]
wizard
- Added dashboard.dev flow

## [2.1.4] - 2024-04-13 [stable]
[frontend]
- Added StaffAugmentation.ai
- Added TechByte.ch

[app]
main
- Added New LLM for Swiss Legal Tech
- Added getDecisions method
- Added getDecisionById method
- Added getTotalDecisions method
- Added sanitizeFileName method
- Added extractTextFromPDF

[ai]
- Initial Release

## [2.1.3] - 2023-10-30 [stable]
[frontend]
- Updated the design 
- Added Inter
- Added a nice background animation on stats section
- Main navigation is now dark
- Updated Policies
- Updated Company information

[app]
main
- Added "How to section"
- Added "Tools"
- Updated styling & admin

Wizard
- Minor update on the wizard css

## [2.1.2] - 2023-10-15 [stable]
- Rewrite of save-session
- Fixed a blocked loop when "Not sure" was selected in third steps

## [2.1.1] - 2023-10-14 [stable]
- Adjusted the wizard design
- Enforced 'Inter'
- Updated translations
- Added Crescendo's arrays
- Added CreateMVP's arrays
- Added NoCodeFactory's arrays
- Minor adjustment on 'not-sure' to have an icon

## [2.1.0] - 2023-10-14 [stable]
- Added Crescendo.ai
- Fixing bugs in translations
- Refining the translations

## [2.0.9] - 2023-10-10 [stable]
- Published a completely new wizard (Phoenix)
- Updated all translations

## [2.0.8] - 2023-10-08 [stable]
- Added sub categories to wizard
- Updated save
- Updated all translations

## [2.0.8] - 2023-10-08 [stable]
- Added sub categories to wizard
- Updated save
- Updated all translations

## [2.0.7] - 2023-10-07 [stable]
- Added more brands to common
- Added missing ToS & PP to emails in common
- Added contact form for cybrient.com
- Added partnership form for cybrient.com
- Added Cybrient AI division on cybrient.com
- Added Cybrient SaaS division on cybrient.com
- Added Cybrient Security division on cybrient.com
- Added Cybrient Staff Leasing division on cybrient.com
- Updated email configuration
- Updated common init
- Updated wizard template to one-pager
- Updated translations
- Updated application configuration

## [2.0.6] - 2023-10-07 [stable]
- Consolidated Change.md from wizard.cybrient.app and other .app, +63 iterations to previous count.
- Updated all data to cybrient.app
- API improvements
- Rewrote links to exclude programming language
- Rewrote all the pages
- Updated the colors of some brands on common.app
- Updated icons on app
- Redirection fix for the wizard.app
- Merged mnk.app into app
- Added checkWIOTBPendingAccount method
- Added deleteWIOTBCompanyUserTemporary method
- Added updateWIOTBCompanyIDinCompanyUsers method
- Added ShootEmailWIOTB method
- Added WIOTB section in app dashboard
- Improved chart design (default.php)
- Harmonized strip_tags attribute to match the rest of the job board properties
- Added wiotb.accounts.default
- Added wiotb.accounts.view
- Fixed classify function 
app
- Minor updates

geo.app
- Moved all geo assets here. All properties will be calling this node to load geo asset.

skills.app
- Moved all skills assets here. All properties will be calling this node to load skills asset.

wizard.app
- Minor updates related to adding new properties
- app: Added a classification algo to check urls and categorize them using AI
- app: Added enrichCompany method
- app: Added updateCompany method
- app: Improved dashboard access controls
- app: Added a script to cron to generate the json files for team and brand
- app: In 'companies.user.manually-added.approve' added the enrichCompany function in post
- Minor updates on Assets, support
- assets.app: updated assets
- common.app: added flutterfactory
- common.app: added kotlinfactory
- wizard.app: reset the session when 'choose a brand' is rendered
- wizard.app: flutter, elixir, solidity in the list of skills to select
- wizard.app: additional security
- wizard.app: added allowed_languages array
- wizard.app: added currency (EUR) to properly display
- wizard.app: changed the skills list background to make it easier to see the skills' icons
- mnk.support takes over support.app
- app: Tidied up the dashboard structure
- app: Restricted access to the app based on country
- app: Added more checks on inputs
- mnk.support: Added a support app [stable & tested]. Need to link it from all sites [todo]
- wizard: Added missing property (kotlinfactory)
- wizard: Added more checks on inputs
- New login functionalities
- Prepare for SSO
- Prepare for shared assets across all properties
- common: Added nocodefactory to list of brands
- common: Added nocodefactory
- wizard: Added nocode_skill_list array to render on select-skills
- api: Added number_of_brands in the getBrands response to display on mnkgroup.ch
- app: Added the option to render gif for our NFT properties
- app: Fixed an issue in website editing for companies
- app: Fixed an issue to render cards to our other properties under "Services you may like"
- app: hubspot SDK update
- getTeam - Added two new functions, one for administrative staff, the other for all the teams
- getBrandsDetails - Added a blog field to get blog url for a brand where applicable
- Added initial commit for assets.app
- Added searchBrands endpoint
- Added getTags endpoint
- Added getTagCount endpoint
- Modified getBrands endpoint to accept tags
- Added 'verified' checkmark on accounts.view
- Added permalink on 'companies.edit'
- Fixed permalink display on accounts.detail
- Added the change.md parameter into getBrands
- Added the change.md parameter into getBrandsDetails
- Added new brands to wizard
- Added new brands' assets
- Added Clojure Factory
- Added F# Factory
- Added Scala Factory
- Added Java Factory
- Added Solidity Factory
- Added Swift Factory
- Added ThemeDimension
- Changed the way the brands are displaying. Calling the API for more accurate data.
- Consolidated Change.md from wizard.app, +12 iterations to previous count.
- Added checkEmailforSpam method 
- Implemented checkEmailforSpam method in post
- Fixed the wizard entry in DB for Project requests
- Fixed the wizard entry in DB for Resource requests
- Updated application initialization
- Added ShootEmailDashboard method
- In Final post, added 'createAccount' call using the new API
- Added redirection to dashboard after filling up the form
- Moved sensitive configuration out of application code
- Fixed some internal links in the wizard
- Minor update on the assets
- Fixed exit to redirect to the origin url
- Fixed About url in email
- Fixed ToS url in email
- Fixed Privacy Policy url in email
- CSS fix when no brand is selected
- Tied value_skills with opportunity_request
- Added brands array (will be integrated in api.app in the future)
- Added showBrands method
- If brand is not selected, automatically display the list of all availables brands you can fill the wizard for
- Check the brand array against the allowed_brands array
- First version of the unified wizard
- Display the wizard styled based on the brand requested
- Session now process multi-languages
- Integrated api.app into the wizard to insertClient
- Integrated api.app into the wizard to insertLead based on the request
- Fixed emails sent to be themed based on the brand
- Added all brands assets within the environment
- Added an array with the allowed brands
- Added generateCurrentPage method
- Added generateResetButton method
- Added CallAPI method
- Added postAPI method
- Added getAPI method
- Fixed styling of the completed page
- Fixed completed page redirection to redirect to the proper brand
- Initial commit
- Consolidated Change.md from common.app, +2 iterations to previous count.
- Consolidate all emails under sales
- Additional checks for lang variables
- Initial commit
- Added opportunity_location array
- Added secondary_color for each property
- Consolidated Change.md from api.app, +19 iterations to previous count.
- Added findNextBrand method
- Added findNextBrandName method
- Added findPreviousBrand method
- Added findPreviousBrandName method
- Added a new method getBrandsDetails (description, tag, slug, link) to return details by submitting the slug
- added more granularity to getBrands (description, tag, slug, link)
- added getBrands
- added bannedDomains list and checked register mail to not be in the list
- updated mailing: added privacy policy, about us and tos depending on the brand
- added pagination on getTalentsBySlug
- added mailing functionalities
- added mailing for register
- added mailing for password recovery
- added POST contact form & mailing
- added error messages for upload profile picture
- updated getClientDetails - client_id returned correctly
- updated getClientDetails - added profile_picture_url and client_id
- updated login - included profile_picture_url in responses
- added POST uploadProfilePicture
- added libraries for mailing
- updated updateClient - included phone_prefix
- updated addOrders API - added teams
- updated getOrders API - added teams and talents details
- added phone prefix in getClientDetails, login and mobileRegister
- added getOrders and addOrder
- updated login to return complete details about user
- Added getTalents with skill_slug method. (this methos is using a request to unicorn.io)
- Added getSkills method. (this methos is using a request to unicorn.io)
- Added getSkills with skill_slug method. (this methos is using a request to unicorn.io)
- Added getCountries method. (added on functions an array with countries codes and names)
- Added getLanguages method. (added on functions an array with languages codes and names)
- Added login with email&pass functionality.
- Added mobileRegister method.
- Added password recovery support. (WIP - still needs the mailing functionality)
- Added password change support.
- Added updateClient method.
- Added createAccount method. Need client_id to run it
- Added opportunity_location in all methods related to leads/opportunities
- Added getRandomBytes method
- Improved password generation support
- Improved account verification handling
- Bundled all json responses in a response method
- Added default values if values are missing
- Added getLead method
- Added getOpportunityType method (filter)
- Added GET request getLead
- Added InsertLead option with client_id
- Added Lead Type SaaS
- Added getLeadDetails Method
- Added getClientDetails Method
- Migrated 3 requests to POST instead of GET
- .htaccess correction
- Added primary brand in clients
- Added company url in clients
- Added company_thumbnail in clients
- Added referrer in opportunities
- Added medium in opportunities
- Added domain in opportunities
- Added brand in opportunities
- Removed referrer from client
- Initial commit
- insertClient method
- insertLead method
- getTeam method
- getClient method
- Added the checkUnicornTalentPendingAccount method
- Added "Action required" menu under unicorn.io
- Under "Action required", list all accounts that require action on our side
- Added Phone and email for candidates in formEditTalent method
- Modified getSalaryRow method
- Fixed email notification button color
- Standardized changelog.md -> change.md (across all properties)
- Added parsedown lib
- Added change log link in footer to link to the changelog view
- Added change log view
- Added change log link in menu
- Several fixes on core to avoid errors and notices
- Displaying by default the latest registered talents
- Added the option to skip email notifications to alert company's claim denial
- Added "Services you may like"
- Minor cleanup on dashboard main view
- Added getCompanyThumbnailwithUserID method
- Added getCompanyNamewithUserID method
- Fixed Pending Approval companies view to distinguish temporary companies (added manually by users) and pending claimed companies
- Added deleteCompanyTemporary method
- Added deleteCompanyUserTemporary method
- Added updateCompanyIDinCompanyUsers method
- Now added the scenario where a company doesn't exist in our system. Register data in temporary tables. Only when approved do the data become publicly accessible
- Added Accounts view
- Added Pending Approval Companies view
- Added Accounts details
- Added Pending Approval Companies details
- Added ShootEmailCareers method
- Added checkCareerPendingAccount method
- Added getCompanyThumbnailwithCompanyID method
- Added notification badge next to the Pending Approval menu
- Updates of post to reflect account management of careers.sh companies (approve / deny) 
- Added icons on dashboard (client)
- Added icons on dashboard (admin)
- Fixed menu in mobile
- Deployed additional security optimizations
- Removed xcrud library
- Added companies.edit view
- Added companies.edit method in post
- Fixed an issue related to saving thumbnails when adding or editing a company
- Fixed a nomination in loadCard based on session type (View lead vs View Request)
- Chat with us added WhatsApp Phone number link
- Hotfix in invoice view
- Hotfix in resource view
- Removed search in requests view
- Fixed an issue where the brand disappears after a search in requests
- Deactivated Edit Profile link temporarily
- Deactivated Edit Request link temporarily
- Added WhatsApp Phone number in Footer
- Added orderSummary method to simplify consolidated format (in emails)
- Added the method in post
- Added dynamic favicons in the header in the dashboard
- Added dynamic favicons in the header in the login page
- Added profile view in admin
- Added profile edit in admin
- Added link to go to profile view on desktop by clicking on profile picture for admins
- Added link to go to profile view on desktop by clicking on profile picture for clients
- Added favicons
- Added link to Profile in admins menu
- Fix the SQL query on the dashboard for admins
- Harmonized the listings of skills in leads, now it displays the same as requests (client-side)
- Added loadLead method
- Added loadCard method
- If for any reasons, the opportunities details are incomplete or do not exist, we do not display them
- Fixed number of results in leads/opportunities to exclude incomplete opportunity details
- Fixed opportunity count issue on main view, and detail view on both leads/requests
- Fixed a count issue across all accounts type
- Fixed menu highlight based on page view
- Added wildcard search for resources based on name, location, desk, etc.
- Added superclient and superadmin in allowed_views
- Added more allowed views
	- resources.views
	- resources.detail
	- resources.edit
	- invoices.views
	- invoices.detail
- Added extra checks on some variables
- Added default profile image for users
- dashboard styling optimization
- Added alerts in the dashboard
- Added encryptString method
- Added decryptString method
- Added lastInvoiceIDClient method
- Added lastResourceIDClient method
- Added loadHeaderInvoiceDetailasClient method
- Added loadHeaderResourceDetailasClient method
- Added showSkillList method
- Added new menus in default view for clients
- Added invoices.detail
- Added invoices.view
- Added profile.edit
- Added profile.view
- Added requests.add
- Added requests.detail
- Added requests.view
- Added resources.detail
- Added resources.edit
- Added resources.view
- Edited post
- other minor esthetic changes
- Added clients views
- Added admins views
- Added common views
- Added getAdminMenu method
- Added getClientMenu method
- Added the Alert bar to display in dashboard
- Added requests.add
- Added requests.view
- Deployed client dashboard (first version)
- Replaced pages modules with views
- Removed core/global dev
- Removed pages modules
- Added All Sample Resumes section
- Added getOpportunityField method
- Addded getClientField method
- Added generateEmailPreview method
- Added generateEmailTemplate method
- Added getEmailAttachments method
- Added getEmailSignature method
- Added performance chart in dashboard
- Added sample resume list view grouped by skills
- In Leads detail, email template is prepared based on the lead
- Extended search options in clients section
- Minor CSS fixes on dashboard
- Minor changes on .htaccess
- Added missing assets locally
- Added brand component across the system
- Added talents view from legacy recruiters system
- EOL of recruiters exclusive view  - replaced by unified dashboard
- EOL of sales exclusive view - replaced by unified dashboard
- Added getOpportunityDetails method
- Fixed some dashboard titles
- Added extra checks in brands view
- Fixed thumbnail height
- Reimposed a default avatar if image is empty
- Migrated design data from unicorn to app
- Minor fixes
- Added talents section (post)
- .htaccess correction
- Minor fixes
- Added Leads section (view/detail/edit)
- Added Clients section  (view/detail/edit)
- Minor fixes in formatting
- Moved sensitive information out of the app
- Setting up the stage for API integration
- Migration fixes
- Added Brand section
	- brand.details
	- brands.view
- Added Talents section in backend
- Moved app out of sales.unicorn.io
- Customized theme
- Check if company url is using HTTPS, if not display a warning
- Check if application url is using HTTPS, if not display a warning
- Added the ability to edit the application url
- Added rules for US locations based on item_location
- Reintroduced matchmaking (beta)
- Added more menus in default
- Matchmaking now reads job description to search for keywords matches
- Added matchmaking listing view
- Preparation for keyword cloud based on job description, and parsing top 3 skills for the matchmaking engine
- Added random quotes on dashboard for inspiration / motivation
- Fixed navigation and re-organized it
- Fixed header container
- Fixed jquery issue by adding jquery-migrate
- Company listing view cleaned up on mobile
- Added pro-active errors in listing.edit
- Added pro-active errors in listing.view
- Fixed width viewport in dashboard
- Added the Delete Listing option on listing single view
- Minor text issues fixed
- UX improvement, added link from listings to companies
- Sales representative can edit data beyond their attributed listings
- Directory mapping fixes
- Migrated to PHP7+
- Removed Reset
- Removed Registration
- Added further security fixes
- Added "Work Experience" as an option
- Added "Education" as an option
- Fixed some cosmetic issues on the candidates.add view
- Fixed bug with "Add more"
- Added core_url variable to fix url issues and updated all dependencies
- Released https://sales.unicorn.io
- Registration
- Reset password
- Login
- Dashboard includes:
	- Candidate section
		- Add Candidate (manually) with option to send an email notification
		- Invite Candidate
		- See All Candidates
		- Candidate Languages
		- Candidate Skills
		- Candidate Social Media
		- See all invitations sent
	- Interviews section
		- See all Interviews

## [1.4.3] - 2023-07-16 [stable]
- Updated the branding, address, and footer
- Removed MNK & TSG branding

## [1.4.2] - 2023-01-05 [stable]
- Style correction on brands owned

## [1.4.1] - 2022-12-12 [stable]
- Updated team members
- Updated translations

## [1.4.0] - 2022-10-11 [stable]
- Updated team assets
- Updated all the ads assets
- Updated translations
- Remove the team page and added a link to com

## [1.3.9] - 2022-09-21 [stable]
- Update the domain names included in the responsible disclosure program

## [1.3.8] - 2022-07-31 [stable]
- Added Announcement banner to announce the release of "Technology Staffing Group SA"
- Updated sitemap
- Updated translations

## [1.3.7] - 2022-07-24 [stable]
- Migrated Staffing brands to Technology Staffing Group SA
- Added "Who is on the bench" WIOTB
- Added Shop.unicorn.io
- Added hrverification.io
- Added CryptoInsights.blog
- Added Dashboard.dev
- Added CreativePatterns.io (+ blog)
- Added eGov.digital

## [1.3.6] - 2022-02-10 [stable]
- Created a medium.com account
- Extracting feeds into our News page
- Added "Company news" page
- Corrected the F#Factory thumbnail
- Added getNews method
- Updated translations

## [1.3.5] - 2022-02-10 [stable]
- Added CreateMVP.com
- Added BarbarianBear.art
- Added RebelliousKitten.art
- Added SmartOctopus.art

## [1.3.4] - 2022-02-04 [stable]
ads.mnkgroup.ch
- Added createmvp.com assets
- Minor update to widget
- Updated common.mnk.app with nftfactory + createmvp

mnkgroup.ch
- Added createmvp_desc

## [1.3.3] - 2022-01-23 [stable]
Ads:
- Fixed domain (rorfactory.io -> rubyfactory.io)
- Added getMatchPropertyRandom method
- Added a verification to make sure the url works in displayAdKeyword
- Added a small extra height to horizontal banner

Main:
- Converted team images to webp
- Added a script in cron to generate team and brands json file
- Loading team from local json file instead of API

## [1.3.2] - 2022-01-06 [stable]
- Main: sa_presence_countries array updated (+bs, +li, +ae, +vn, +ru)
- Added alt attribute on ads (based on lighthouse recommendation)
- fixed Rocketsales link (rocketsales.io instead of .ai)

## [1.3.1] - 2021-12-06 [stable]
- Main: Added "NoCode Factory" to list of assets
- Main: Added Accurate Number of Brands based on the initial API call alongside getBrands
- Main: Added Missing Description
- Ads: Renamed opengraph files to properly render where needed
- Ads: Added "NoCode Factory" assets

## [1.3.0] - 2021-11-20 [stable]
- Added NFTs assets
- Fixed images thumbnail ratio aspect in single view

## [1.2.9] - 2021-11-05 [stable]
- Added Responsible Disclosure section
- Added list_of_domains and displaying it in Responsible disclosure section
- Added simplehtmldom lib
- Updated showLastBlogPosts method
- Updated languages

## [1.2.8] - 2021-11-05 [stable][ads.mnkgroup.ch]
- Merged change.md from ads.mnkgroup.ch bumped by +14
- Fixed an issue with displaying ads on some of our properties
- New assets
- Added Clojure Factory
- Added F# Factory
- Added Scala Factory
- Added Java Factory
- Added Solidity Factory
- Added Swift Factory
- Added ThemeDimension
- New assets
- New assets
- Fixed property array
- New ads
- New rules to display the ads
- Added 24stack.com
- Added KotlinFactory.io to live
- Added FlutterFactory.io to live
- Updated other assets
- Moved Externalize.dev to live
- Updated JobHawk's assets
- New video for MNK Group (Teaser)
- Removed animation counter on MNKGroup.ch
- Moved WizardEasy to live
- Moved RemoteAssistants.io to live
- Removed tests
- Moved WizardEasy to live
- Moved RemoteAssistants.io to live
- Removed tests
- Added missing assets for wizardeasy
- Made the ads responsive to readjust based on screen-size
- Added all the missing assets for all properties
- Added Javascript Widget instead of PHP, so the ads can be called from a javascript script, regardless of the tech stack on the server
- Added getMatchProperty method
- Optimized displayAdKeyword method
- Can now show relevant ads by sending a keyword
- Added a displayAd method to call a specific sized banner
- Added a displayAdKeyword method. This will be worked on to show ads specific to keywords.
- Moved all live properties that are ready to receive traffic and visits to /live, the other ones were moved to /soon
- Added .htaccess to strip the extension of the file rendering the ads
- Initial commit

## [1.1.4] - 2021-10-10 [stable]
- Added "Latest blog articles" published for each brand on getBrandSingle
- Added new team members
- Updated translations

## [1.1.3] - 2021-10-06 [stable]
- Updated the Team's API

## [1.1.2] - 2021-09-20 [stable]
- Display of country list availability for brands now in an array
- Added list of countries for "Legal Setup"

## [1.1.1] - 2021-09-20 [stable]
- Added getVersionofCL method
- Added latest version for each brand on single page

## [1.1.0] - 2021-09-18 [stable]
- New font use
- Brand tags generated from backend
- Brand tags - added count
- Added getTagList method
- Added getTagCount method
- Added searchBrands method
- Added getVersion method
- Added getBetween method
- Display app_version in footer

## [1.0.9] - 2021-09-14 [stable]
- Integration of change.md into listings on mnkgroup.ch
- Added Parsedown to properly parse the change.md files

## [1.0.8] - 2021-09-12 [stable]
- Added displayCountryList method
- Added country list for Rocketsales
- Added country list for Who is hiring
- Added country list for Tech peer
- Added country list for Team secure
- Added country list for Staff augmentation

## [1.0.7] - 2021-09-10 [stable]
- Added Clojure Factory
- Added F# Factory
- Added Scala Factory
- Added Java Factory
- Added Solidity Factory
- Added Swift Factory
- Added list of all Who is Hiring properties under the WIH listing
- Updated Translations (en, fr, de, it)

## [1.0.6] - 2021-09-07 [stable]
- Translated job titles (in "Our Team" page)
- Display MNK Group AG when German language is selected
- Added a new open graph image, specifically for the brand page

## [1.0.5] - 2021-09-07 [stable]
- Added French
- Added German
- Added Italian
- Added languages list
- Added missing data for title and description
- Updated list of allowed pages
- Updated list of allowed languages
- Fix translations errors
- Improved getOGImage method

## [1.0.4] - 2021-08-31 [stable]
- Updated brands from PNG to WEBP
- Added CDN for static assets

## [1.0.3] - 2021-08-27 [stable]
- Mobile-friendly fixes on the single brand view
- Multiple hotfixes (css)
- Fixed frontpage "Get to know us" section background color
- Minor fixes in translation

## [1.0.2] - 2021-08-26 [stable]
- Production ready
- Overwrote Wordpress with our Custom CMS
- Added the icons and favicons
- Added og:image
- Added social media in footer
- Added social media ref in header 
- Added previous and next option in brand specific pages
- Added additional security rules
- Cleaned up footer
- Cleaned up .htaccess
- Removed news section for now. Will re-activate it later.

## [1.0.1] - 2021-08-26 [stable]
- Ready for production
- TODO redirects for old links

## [1.0.0] - 2021-08-25 [stable]
- Initial commit
