Changelog

Every release, what actually changed

AtlasForgeX ships fixes as they are measured, not on a marketing calendar. Each entry below is the release note that ships with the build itself, in English and Finnish, unedited.

1.0.741

2026-07-28latest

1.0.741 - 2026-07-28 - "📄 PDF-listojen viimeistely: liimautuneet rivit ja LinkedIn-rivit oikein"

đŸ‡«đŸ‡ź Suomi

  • 📧 Yhteen liimautuneiden PDF-rivien sĂ€hköpostit pelastetaan. PDF-tiedostoissa otsikko ja ensimmĂ€iset rivit liimautuvat joskus lukiessa yhdeksi pitkĂ€ksi riviksi. Aiemmin tĂ€llainen rivi saattoi kadota kokonaan — nyt rivistĂ€ poimitaan sĂ€hköpostiosoite talteen ja firma pÀÀsee listalle sen kautta.
  • đŸ’Œ LinkedIn-yrityssivut kĂ€sitellÀÀn yrityksinĂ€, ei henkilöinĂ€. Rivi linkedin.com/company/firma muuttui aiemmin henkilöprofiiliksi jota ei ole olemassa (linkedin.com/in/firma) ja yrityksen nimi nĂ€kyi pÀÀttĂ€jĂ€n nimenĂ€. Nyt yrityssivu sĂ€ilyy yrityssivuna ja henkilöprofiili henkilönĂ€ — Atlas ei keksi profiileja joita ei ole.
  • 🔗 LinkedIn-osoite ei enÀÀ vuoda firman verkkosivuksi. TietyssĂ€ tilanteessa listarivin verkkosivuksi tallentui linkedin.com, jolloin rikastus yritti lukea LinkedIniĂ€ firman kotisivuna. Korjattu: LinkedIn-osoite kulkee omassa kentĂ€ssÀÀn eikĂ€ koskaan kelpaa verkkosivuksi.

🇬🇧 English

  • 📧 Emails on merged PDF lines are rescued. In PDF files the heading and first rows sometimes merge into one long line when read. Previously such a line could disappear entirely — now the email address is extracted from it and the company makes it onto the list through it.
  • đŸ’Œ LinkedIn company pages are treated as companies, not people. A row like linkedin.com/company/firm used to be turned into a personal profile that does not exist (linkedin.com/in/firm), and the company name appeared as a decision-maker's name. Now a company page stays a company page and a personal profile stays a person — Atlas does not invent profiles that do not exist.
  • 🔗 A LinkedIn address no longer leaks in as the company website. In one scenario a list row's website became linkedin.com, making enrichment try to read LinkedIn as the company's homepage. Fixed: the LinkedIn address travels in its own field and never qualifies as a website.

1.0.740

2026-07-28

1.0.740 - 2026-07-28 - "📋 Omat listat ajavat tĂ€ydellĂ€ teholla myös perutun haun jĂ€lkeen"

đŸ‡«đŸ‡ź Suomi

  • 📋 LIST-ajo saa nyt saman suojan kuin tavalliset haut: edellinen haku ajetaan alas ennen listan alkua. EilisessĂ€ versiossa korjattiin tilanne jossa peruttu haku jĂ€i pyörimÀÀn taustalle ja hidasti seuraavaa hakua — mutta korjaus kattoi vain tavalliset haut, ei omia listoja. Jos peruit haun ja kĂ€ynnistit heti perÀÀn listan, vanhan haun jÀÀnteet kilpailivat listan kanssa verkkoresursseista ja lista tuntui hitaalta. Mitattuna: peruttu haku kuolee nyt 1,5 sekunnissa listan kĂ€ynnistyksestĂ€.
  • đŸ›Ąïž Kaksi nĂ€kymĂ€töntĂ€ tilasotkua tukittu samalla. 1) TietyssĂ€ ajoituksessa uuden haun siivousmekanismi saattoi katkaista kĂ€ynnissĂ€ olevan LIST-ajon tehtĂ€vĂ€t — lista pysĂ€htyi selittĂ€mĂ€ttĂ€. 2) Jos kĂ€ynnistit uuden listan heti edellisen perÀÀn, edellisen ajon lopetus saattoi sammuttaa uuden ajon kĂ€ynnissĂ€olo-lipun — loput rivit ohitettiin hiljaa ja listalta puuttui firmoja. Molemmat kiinni: jokaisella ajolla on nyt oma vuoronumero, ja vain tuorein ajo saa koskea yhteisiin tiloihin. Varmistettu ajamalla oikea sessio: haku → peruutus → heti lista → kesken listan toinen lista — kaikki rivit perillĂ€.

🇬🇧 English

  • 📋 LIST runs now get the same protection as regular hunts: the previous hunt is shut down before the list starts. Yesterday's release fixed cancelled hunts lingering in the background and slowing down the next hunt — but the fix only covered regular hunts, not your own lists. If you cancelled a hunt and immediately started a list, the old hunt's remnants competed with the list for network resources and the list felt slow. Measured: a cancelled hunt now dies 1.5 seconds after the list starts.
  • đŸ›Ąïž Two invisible state mix-ups closed at the same time. 1) With certain timing, the new hunt's cleanup mechanism could cancel the tasks of a LIST run already in progress — the list stopped without explanation. 2) If you started a new list right after a previous one, the previous run's shutdown could switch off the new run's running flag — the remaining rows were skipped silently and companies were missing from the list. Both closed: every run now has its own turn number, and only the newest run may touch shared state. Verified by running a real session: hunt → cancel → list immediately → a second list mid-run — every row arrived.

1.0.739

2026-07-28

1.0.739 - 2026-07-28 - "📄 PDF-listat toimivat nyt yhtĂ€ hyvin kuin CSV — myös taulukkomuotoiset"

đŸ‡«đŸ‡ź Suomi

  • 📊 Taulukkomuotoinen PDF-lista (esim. ExcelistĂ€ tai CRM:stĂ€ tulostettu) luetaan nyt oikein sarakkeittain. Aiemmin taulukon solut liimautuivat luettaessa yhteen: rivi "Firma Oy · Tampere · 040 123 · firma.fi" muuttui yhdeksi pötköksi jota Atlas piti firmannimenĂ€ — haku sai roskaa eikĂ€ löytĂ€nyt mitÀÀn. Nyt Atlas tunnistaa taulukon, pÀÀttelee sarakerajat sivun asettelusta ja lukee nimen, kaupungin, puhelimen, verkkosivun ja yhteyshenkilön omiin kenttiinsĂ€ — samalla varmuudella kuin CSV-tiedostosta. Myös tyhjĂ€t solut kĂ€sitellÀÀn oikein (tyhjĂ€ puhelinsolu ei siirrĂ€ muita tietoja vÀÀrÀÀn sarakkeeseen), ja monisivuisen taulukon toistuvat otsikkorivit ohitetaan.
  • 📄 Kaksi muuta hiljaista PDF-vikaa korjattu. 1) Salatut PDF:t (esim. CRM- ja laskutusjĂ€rjestelmien exportit, joissa on tyhjĂ€ avaussalasana) aukeavat nyt. 2) PDF:t joiden tekstinpoiminta tuotti tyhjÀÀ oletustilassa (erikoisfontit) luetaan uudelleen asettelun sĂ€ilyttĂ€vĂ€llĂ€ tilalla.
  • ⚠ Jos PDF:ÀÀ ei oikeasti voi lukea, saat nyt selkeĂ€n ilmoituksen. Skannattu tai kuvamuotoinen PDF (ei tekstikerrosta) ja oikealla salasanalla suojattu PDF eivĂ€t aukea millÀÀn ohjelmalla ilman tekstintunnistusta — Atlas ei arvaa sisĂ€ltöÀ. Aiemmin virhe nĂ€kyi vain hakukentĂ€n vesileimatekstinĂ€, joka jĂ€i helposti huomaamatta. Nyt avautuu ilmoitus joka kertoo syyn ja ratkaisun: vie lista CSV- tai Excel-muodossa, tai kopioi rivit suoraan hakukenttÀÀn ja paina LISTA.

🇬🇧 English

  • 📊 Table-style PDF lists (e.g. printed from Excel or a CRM) are now read column by column. Previously the table cells got glued together on reading: the row "Firma Oy · Tampere · 040 123 · firma.fi" became one long string that Atlas treated as a company name — the search got garbage and found nothing. Atlas now detects the table, infers the column boundaries from the page layout and reads the name, city, phone, website and contact person into their own fields — with the same reliability as a CSV file. Empty cells are handled correctly too (an empty phone cell no longer shifts other values into the wrong column), and repeated header rows of a multi-page table are skipped.
  • 📄 Two more silent PDF failures fixed. 1) Encrypted PDFs (e.g. CRM and invoicing exports with an empty open password) now open. 2) PDFs whose text extraction came back empty in the default mode (special fonts) are re-read with a layout-preserving mode.
  • ⚠ If the PDF genuinely cannot be read, you now get a clear message. A scanned or image-based PDF (no text layer) and a PDF protected with a real password cannot be opened by any program without OCR — Atlas does not guess the content. Previously the error only appeared as watermark text in the search field, easy to miss. Now a dialog opens explaining the cause and the fix: export the list as CSV or Excel, or paste the rows straight into the search field and press LIST.

1.0.737

2026-07-27

1.0.737 - 2026-07-27 - "đŸ—ș Aluerajaus toimii joka maassa + maat jotka eivĂ€t tuottaneet mitÀÀn tuottavat nyt"

đŸ‡«đŸ‡ź Suomi

  • đŸ—ș Valitsemasi kaupunki tai alue vaikuttaa nyt joka maassa, ei vain Suomessa. Kun rajasit haun alueeseen, tieto lĂ€hti kyllĂ€ matkaan, mutta perillĂ€ sitĂ€ ei osattu ottaa vastaan yhdessĂ€kÀÀn maassa Suomea lukuun ottamatta — haku kĂ€ynnistyi hiljaa uudelleen ilman aluerajausta. Siksi esimerkiksi Bangaloreen rajattu haku toi firmoja ympĂ€ri Intiaa. Nyt alue menee perille: sama haku palauttaa 25 firmaa joista kaikki 25 ovat oikeassa kaupungissa. Suomen haut toimivat kuten ennenkin.
  • 🌍 Maat jotka palauttivat aina tyhjĂ€n palauttavat nyt firmoja. Osassa maista Atlaksen kĂ€yttĂ€mĂ€ virallinen rekisteri ei vastaa lainkaan, ja se ehti kuluttaa koko haulle varatun ajan ennen kuin varalĂ€hteille jĂ€i vuoroa — lopputulos oli nolla firmaa ilman mitÀÀn selitystĂ€. Nyt jokaisella lĂ€hteellĂ€ on oma aikabudjettinsa. Mitattuna VenĂ€jĂ€, Paraguay ja Valko-VenĂ€jĂ€: 0 → 30 firmaa. Suomi (150 firmaa omasta rekisteristĂ€) ja Norja ennallaan.
  • 📈 VaralĂ€hteiden jĂ€rjestys mitattiin uudelleen. KansainvĂ€linen yritysrekisteri tuottaa nyt selvĂ€sti enemmĂ€n kuin karttapohjainen lĂ€hde, joten se kysytÀÀn ensin: 12 maan mittauksessa 333 firmaa vastaan 63. KarttalĂ€hde on yhĂ€ heti seuraavana, joten mitÀÀn ei menetetĂ€.
  • đŸ‡«đŸ‡· Ranskalaisten firmojen kaupunki nĂ€kyy nimenĂ€. Kaupungin paikalla luki tilastokoodi (59146) oikean nimen sijaan — nyt siinĂ€ lukee CHERENG. LisĂ€ksi ranskalaiset haut osaavat nyt rajata alueella.
  • đŸ€– TekoĂ€lyn tarjoajavalinta toimii. Jos valitsit OpenAI:n tai Anthropicin ja syötit sen avaimen, ohjelma haki silti tyhjÀÀ Grok-avainta eikĂ€ tekoĂ€lyluokittelu toiminut lainkaan. Korjattu.
  • 🔁 Perutun haun jĂ€lkeinen uusi haku toimii nyt tĂ€ydellĂ€ teholla. Kun peruit haun ja kĂ€ynnistit heti uuden (esim. Goldminen), kaksi asiaa meni rikki nĂ€kymĂ€ttömĂ€sti: 1) peruttu haku ei oikeasti kuollut vaan jatkoi minuuttikaupalla taustalla ja söi uuden haun verkkoresurssit — siksi uusi haku tuntui hitaalta ja listalle saattoi valua vanhan haun firmoja; 2) uuden haun automaattinen kontaktirikastus kaatui hiljaa joka firman kohdalla (27.7. mittaus: 232 kaatunutta rikastusta yhdessĂ€ Goldmine-ajossa, 0 onnistunutta). Nyt edellinen haku ajetaan alas ennen uuden alkua ja rikastus toimii jokaisessa perĂ€kkĂ€isessĂ€ haussa. Koskee kaikkia maita ja kaikkia hakutyyppejĂ€.
  • đŸ©ș Live-testiajo ja syvĂ€auditti paljastivat kuusi piilokaatumista — kaikki korjattu. NĂ€mĂ€ virheet nieltiin hiljaa lokiin eivĂ€tkĂ€ nĂ€kyneet kĂ€yttĂ€jĂ€lle mitenkÀÀn, paitsi puuttuvina tuloksina: 1) kun yritysrekisteri kertoi perustamisvuoden numerona (esim. 2015), koko liidin pisteytys kaatui eikĂ€ "tuore firma" -boosti (Goldminen ydinlupaus) koskaan toiminut; 2) rikastettujen liidien tallennus liidipankkiin kaatui KAHDESSA kerroksessa olemattomiin toimintokutsuihin; 3) toimialasynonyymien haku kaatui aina, joten hakusanan sukulaistermit eivĂ€t koskaan vaikuttaneet osuvuuspisteisiin; 4) hakuhistorian kirjaus kaatui joka haulla; 5) markkinapaine-uutissignaali (KEY SIGNAL -rivi liidikortissa) ei koskaan liimautunut liidiin puuttuvan sisĂ€isen kytkennĂ€n takia; 6) lisĂ€ksi lokiin kirjoitettiin ~3 000 turhaa virheraporttia per ajo — nyt murto-osa, eli haku kĂ€yttÀÀ levyĂ€ ja aikaa itse työhön. Korjausten vaikutus mitattiin heti uusinta-ajolla: USA-haku nousi 0 firmasta 336:een.
  • đŸ§č Asetuksista poistettiin kentĂ€t jotka eivĂ€t tehneet mitÀÀn. Hakukoneavaimille oli oma osio, mutta mikÀÀn ohjelmassa ei lukenut niitĂ€. Se pyysi sinulta avaimia ja lupasi jotain mitĂ€ ei tapahtunut. TekoĂ€lyavaimet ovat aitoja ja jÀÀvĂ€t.

🇬🇧 English

  • đŸ—ș The city or region you pick now applies in every country, not just Finland. When you scoped a hunt to an area, the setting was sent — but no country except Finland could receive it, so the hunt silently restarted without the area filter. That is why a search scoped to Bangalore returned companies from all over India. The area now arrives: the same search returns 25 companies, all 25 in the right city. Finnish hunts are unchanged.
  • 🌍 Countries that always came back empty now return companies. In some countries the official register does not respond at all, and it used up the whole time budget before the backup sources got a turn — the result was zero companies with no explanation. Each source now has its own time budget. Measured for Russia, Paraguay and Belarus: 0 → 30 companies. Finland (150 from its own register) and Norway unchanged.
  • 📈 Backup source order was re-measured. The international company register now yields far more than the map-based source, so it is asked first: across 12 countries, 333 companies versus 63. The map source still runs immediately after, so nothing is lost.
  • đŸ‡«đŸ‡· French companies now show a city name. The city field showed a statistical code (59146) instead of the name — it now reads CHERENG. French hunts can also scope by area now.
  • đŸ€– The AI provider selector works. If you chose OpenAI or Anthropic and entered that key, the program still looked for an empty Grok key and AI classification did nothing at all. Fixed.
  • 🔁 A new hunt started right after cancelling one now runs at full power. When you cancelled a hunt and immediately started a new one (e.g. Goldmine), two things broke invisibly: 1) the cancelled hunt did not actually die — it kept running in the background for minutes, eating the new hunt's network resources, which is why the new hunt felt slow and old companies could leak into the list; 2) the new hunt's automatic contact enrichment silently crashed for every company (measured 27 Jul: 232 crashed enrichments in one Goldmine run, 0 successful). The previous hunt is now shut down before the new one starts, and enrichment works on every consecutive hunt. Applies to all countries and all hunt types.
  • đŸ©ș A live test run and deep audit exposed six hidden crashes — all fixed. These errors were silently swallowed into the log and never visible to the user, except as missing results: 1) when the company register reported the founding year as a number (e.g. 2015), the whole lead's scoring crashed and the "fresh company" boost (Goldmine's core promise) never worked; 2) saving enriched leads into the lead bank crashed in TWO layers due to calls to non-existent functions; 3) the industry-synonym lookup always crashed, so related terms of your keyword never contributed to relevance scores; 4) search-history bookkeeping crashed on every hunt; 5) the market-pressure news signal (the KEY SIGNAL row on the lead card) never attached to leads due to a missing internal wiring; 6) additionally ~3,000 useless error reports were written to the log per run — now a fraction, so the hunt spends disk and time on actual work. The impact was measured immediately in a re-run: the US hunt went from 0 companies to 336.
  • đŸ§č Settings fields that did nothing were removed. There was a section for search-engine API keys, but nothing in the program ever read them — it asked you for keys and promised something that never happened. The AI keys are real and stay.
Current version 1.0.741 · Get access · Country coverage