What's new in the portal
A log of significant changes — features, fixes, tweaks. Newest first.
Tuesday, July 28, 2026
- Fix 01:26
Fixed a serious bug: pagination in News did not work — clicking „Next" kept returning the same page, and the discipline/country filters on the players list did not filter. One shared root cause across the whole site (the server cached responses ignoring the selected filters). Bonus: Google could only see 20 of 56 articles — now it sees all of them.
- Tweak 01:25
Offer URLs now include the item name — /offer/1234-predator-cue instead of /offer/1234. Easier to read when you send a link to a friend, and better for Google. All old links keep working (they redirect automatically), so nothing bookmarked or previously shared breaks.
- New 01:20
Registration is simpler and finally visible. Facebook login moved ABOVE the form (and no longer requires ticking consents first), the terms and privacy consents merged into one, the separate nickname field is gone (we derive it from your name, still editable), and the „Sign up" button is no longer disabled without explanation. There is now also a sign-up button on mobile — previously there was none at all.
- New 01:15
New email notification settings page (/profile/settings/notifications) — you can separately turn off mail about auctions, messages, tournaments and new offers. Plus a working „unsubscribe" link in email footers (it previously led nowhere) and a reminder for people who signed up but never clicked the activation link.
- Fix 00:15
Category and offer pages showed the wrong title in Google — instead of „Slate-bed billiard tables…" you got the generic site name, identical on every subpage. Fixed: every category, offer, brand and seller profile now has its own title in search results and in the browser tab. Should translate into more Google traffic on specific phrases (slate-bed tables, Predator/Mezz cues).
Sunday, July 19, 2026
- Tweak 00:30
News: sort by TOURNAMENT date (upcoming first, finished below), covers appear immediately (FB/Twitter share preview now works), faster card loading (first 4 eager, rest lazy), hover-preload on filters/related/prev-next → snappier navigation. Google and other search engines now get richer structured data (image per listing item, article:section/tag) — should index better.
Saturday, July 18, 2026
- Tweak 15:45
News: you now see WHEN at a glance — every card and article header shows the tournament date range and city. Plus a coloured chip: „Billiard" / „Snooker". Previously you had to click through just to find out whether the tournament is next week or in six months.
- Fix 00:20
Batch of SEO and speed fixes: (1) bidbil.pl and bidbil.com were sending Google a misleading „canonical" saying the Polish site was a duplicate of the English one — each domain now correctly declares itself as the content source; (2) sitemap-news and sitemap-videos no longer trigger a parser error when temporarily empty; (3) bidbil.com/o-nas now auto-redirects to /about (and bidbil.pl/about to /o-nas); (4) tables/cues/balls/accessories categories now use titles matched to what people actually search for („slate-bed billiard tables", „Predator/Mezz cues"); (5) removed an unused font weight — less to download on mobile.
Tuesday, July 14, 2026
- New 03:15
New pages for popular brands: Predator, Mezz, Brunswick, Diamond, Aramith and Cuetec. Each has a short brand write-up, model list, FAQ (e.g. „Predator vs Mezz", „how much is a Brunswick table") and every active offer of that brand on BidBil. On an offer page a Predator cue now shows a „More Predator" button — one click, all the others. Plus an English „About" page (until now English speakers landed on the Polish one).
- New 02:30
Category links look human at last: instead of bidbil.com/category/1 you get bidbil.com/category/1-pool-cues (or /category/6-tables-and-equipment). On top of that, the four biggest categories — Cues, Tables, Balls, Accessories — now show an FAQ on the page: „how much does a slate-bed table cost", „which cue for a beginner", „which Aramith set". Google now sees every subcategory in the sitemap, not just the roots.
- Tweak 01:30
Should be easier to find us on Google — especially for searches like „slate-bed billiard table" or „8-ft slate table". Better page titles and descriptions, mainly on bidbil.com — that was the weakest spot.
Monday, July 13, 2026
- Tweak 23:45
Tournament calendar: finished events now hidden by default (10-day grace period when end_date is missing). New "Show finished" filter unveils the last 60 days with podium + "Finished" chip. Homepage no longer shows past tournaments without a winner.
- New 01:00
News section is back — powered by our own generators. Instead of scraping other outlets, we produce five article types tied to tournaments: 3-day preview, start-day preview, roster (best-first), nationality breakdown, and the 1-2-3-4 podium after the final. Plus daily YouTube top 4 (snooker and pool separately).
Thursday, July 9, 2026
- Tweak 12:00
News section temporarily disabled. Auto-curated news quality was low (many low scores, duplicates), pausing until the pipeline is improved. /aktualnosci shows a short notice with a link to the tournament calendar. The calendar itself is unaffected.
Friday, July 3, 2026
- Fix 16:00
Critical fix for whisky (nonstop, "winner stays") mode: with only 2 players, after the first match the system paired the winner against themselves for the next match. The holder (table winner) is now always removed from the waiting queue before picking an opponent.
- New 15:20
Billiard/snooker split across the portal. News, calendar list, month view, and homepage now display a BILARD (blue) or SNOOKER (red) chip. The Wszystko/Bilard/Snooker filter is available on /aktualnosci, /kalendarz, and /kalendarz/[month].
- Tweak 12:55
New look for news covers. The image generator mangles hands and cues, so covers now show scenes (table, balls, trophy, empty arena) instead of portraits. Existing articles got refreshed images.
Thursday, July 2, 2026
- New 21:30
Replies in article comments — thread the discussion, don't just stack posts.
- Tweak 21:00
"Add to calendar" button on every event page — one click drops the tournament into Google Calendar, Outlook or Apple Calendar. Downloads a .ics file with just that one event (date, location, link back to the BidBil page).
- Tweak 20:00
Player names in articles are now automatically turned into links to their profiles. Click "Fedor Gorst" in the text and land on /player/fedor-gorst with rankings, matches, and related articles. Existing manual links are left alone.
- New 18:00
New "Players" section — /players page with world 9-ball, snooker, European and national rankings. Every player profile (/player/{name}) shows rankings, recent matches from BidBil-mirrored tournaments, articles mentioning them, and upcoming tournaments from the calendar.
- Legal 16:00
GDPR Art. 20 & 17: new pages /konto/dane (download your data as JSON) and /konto/usun (delete account with password + "DELETE MY ACCOUNT" confirmation). DMCA form at /kontakt/dmca for copyright infringement reports — reviewed within 48h.
- Legal 14:00
GDPR: registration now confirms you are at least 16 years old (Polish law requirement for personal-data processing). News articles show a badge when the text is an AI rewrite — with a link to the original source.
- New 12:00
Comments under news articles — logged-in users can discuss under pzbil.pl / azbilliards / snooker.org / our recap articles. Rate limit 5/min, up to 1000 chars, edit-your-own supported, admin moderators can hide or hard-delete.
- New 05:00
Tournament calendar now has a month view — 7-column day grid with tier-colored event chips (World Tour = gold, Euro Tour = green, etc.), inline day expand. "Month view" button next to the upcoming list. Sitemap for Google split into index + 7 specialized submaps (Google News for articles < 48h, Google Video for YT highlights) — priority SEO indexing.
- New 03:00
New "News" and "Tournament calendar" sections on the home page + dedicated /aktualnosci and /kalendarz pages. Billiard/snooker news aggregated from external sources (pzbil.pl, azbilliards.com, snooker.org) + auto-generated tournament previews/recaps from our mirrors (EPBF, CueScore) + curated YouTube video highlights. Calendar unifies all sources in one view. Player rankings: snooker.org (world snooker), PZBil (top 20 national), WPA (world 9-ball), Matchroom Nineball Tour. Bilingual: bidbil.pl (PL) and bidbil.com (EN), full hreflang + schema.org. Feature-flagged in admin panel — pipeline off until API keys (DeepSeek/Claude, Together, YouTube Data) are configured.
Saturday, June 27, 2026
- Tweak 23:30
In the "Following" tab, player cards now show all matches (besides the one in progress) — upcoming with timestamps, finished with W/L and score, sorted chronologically. Plus: roster list at the bottom of mirror tournaments (EPBF/CueScore) is now sorted alphabetically instead of import order — find a player faster.
- Tweak 23:15
Empty "Following" tab now shows 3 numbered steps (go to Matches/Bracket/Standings → tap the star → come back) plus a mini preview card with "NOW PLAYING" and score, so it's clear what you'll get after adding friends.
- Tweak 23:00
Followed-players list now syncs to your account — logged-in users see the same favorites on phone, tablet and laptop. Anonymous users keep their list in the browser. Plus: "NOW PLAYING" badge on player cards is green (sport-y, "action in progress") instead of red.
- Tweak 22:30
Stars also next to players in every match card (Matches tab) — add someone to Following with one tap right when you see a friend in the result, no need to dig into Standings or roster.
- Tweak 22:00
Matches / Bracket / Standings tabs now have a "Followed only" toggle — shows only matches, groups and rows with players you starred. Great when you're watching friends in a big tournament (e.g. 162 players, 532 matches) and don't want to scroll the rest. Side cleanup: PTS column removed from group tables (the standings order already comes from W-L and FW-FL).
- New 21:30
Follow players in a tournament. Tap the star next to any player (in standings, bracket, roster) — they appear in a new "Following" tab with live score, next match, recent results and W-L stats. No login required, list saved in browser per tournament. Perfect when you're watching a few friends in a big tournament and don't want to scroll through 600 matches.
- New 19:00
Second tournament scraper: CueScore. Admin can import any tournament from cuescore.com (by ID or URL) as a read-only mirror — groups + single-elim playoff, results and bracket auto-refreshed every 15-60s.
Friday, June 26, 2026
- Tweak 13:00
In the "Groups + Playoff" format, at most 32 players now advance to the knockout phase — regardless of total tournament size. Previously the system could push e.g. 48 players from a large tournament into the bracket, ballooning it to 6 rounds and making it impossible to finish in one evening.
- New 01:30
Homepage now has a blue LIVE banner — shows active EPBF mirrors in progress (pulsing red dot + tournament name) linking straight to the game. Plus bracket: perf tuning (content-visibility on off-screen rounds + hover-transitions disabled while dragging), filter properly closes on outside click, past match dates hidden, bracket section titles / mirror banner translated.
Thursday, June 25, 2026
- Tweak 17:00
Flags next to players in EPBF mirrors now show a tooltip with the country name (Poland, Northern Cyprus, EPBF (neutral), etc.). The backend recognizes every code EPBF uses, including the unusual ones: TCY (Turkish Republic of Northern Cyprus), UMI (US Minor Outlying Islands), EPBF (player competing under the federation).
- New 16:00
Country flags next to players — every player can have a country assigned (flag next to the name in the player list). EPBF mirror reads flags from the import, in regular games: registered player inherits country from their profile, manual one from the tournament creator. Plus: scheduled match start time (ScheduledAt) for scheduled tournaments like EPBF.
- Tweak 15:00
EPBF mirror sync: when livescores.php returns nothing (night, end of tournament), tick slows to 30s if the next scheduled match is <5 min away, or 5 min otherwise. Back to 5s as soon as anything live appears. When a match disappears from live (finalized by the referee) we immediately trigger an off-schedule full HTML refresh — final score and the next match in the bracket show up in ~15s.
- New 14:00
EPBF mirror — auto-import tournaments from epbf.com as read-only games in BidBil (public, admin-only to create). After import: in-progress scores update every 5s from livescores.php, and every 5 min a full HTML refresh pulls new matches and finalizes completed ones. Bracket is a 1:1 mirror of EPBF (Men 9-ball, 2KO+Cup). The game page shows a "Mirror from EPBF — read-only" banner with the last sync time.
- New 12:00
Bulk import of players in the create-game form — new "Import list" button next to "Save roster". Paste any roster (e.g. EPBF order-of-play), the parser strips country codes in parens, seed numbers and scores, and skips duplicates. A live counter shows how many will be added before you confirm.
Monday, June 22, 2026
- Tweak 04:30
After creating a tournament the "Start game" button gently pulses with a golden glow until you generate the bracket — your eyes land on the right spot instead of hunting around the page.
- Tweak 04:00
You can now mark a player as "no-show" (WO) while creating a new game — previously this only worked after the game was already created. Also: for 1v1 the blocking message now reads "requires exactly 2 players" instead of the misleading "need at least 2" when you have 3.
- Fix 02:00
Fixed time stamps on messages, listings and activity — previously the displayed time was 1–2 hours off from the actual one (e.g. you sent at 03:56 but the chat showed 05:56). The backend was treating dates read back from the database as UTC instead of Warsaw local time.
Thursday, June 18, 2026
- Fix 16:30
Fixed claiming a tournament player slot via QR or code — after logging in or signing up you return to the claim page, and the admin immediately sees the player has taken their slot. Previously you landed on the home page and lost the context.
- New 16:00
Mark a player as "no-show" (WO) before tournament start — button next to seed in the "Matches" tab. All their matches resolve as walkovers (opponent wins on max), and they land at the bottom of standings. Useful when someone paid the entry fee but cannot make it — they stay on the list with a "WO" tag instead of being removed.
- Fix 15:30
Bottom menu now stays glued exactly to the screen edge on iPhone — simplified to a fixed 75px height with no extra room for the Home indicator zone. No more "detaching".
- Fix 13:00
Bottom menu (Home / Games / Sell / Cart / Profile) now stays glued to the bottom of the screen on iPhone — previously it could slip into the middle of the page above the footer. Now it behaves the same as on Android.
- Fix 12:00
Fixed session persistence on iPhone and iPad — especially in Safari Private Browsing where entering profile/cart right after login would immediately ask you to sign in again. Sessions now hold steady on every device.
- Fix 11:00
The referee tablet sign-in page, the redirect prompt when entering profile without an account, the delete buttons for games and integrations, and the error messages after a failed Facebook login now translate to English. An audit confirmed professional coverage across 1,331 keys — the remaining gaps are now closed.
- Fix 02:30
The login modal, browser tab titles, the maintenance screen, the tournament account-link page and the tournament bracket are now translated to English. Previously a dozen spots stayed in Polish regardless of the selected language.
- Fix 01:30
Login prompts ("to buy / bid / add to cart / message the seller you need to sign in") now appear in the selected language (used to always be Polish). SEO descriptions on seller, category, tournaments and snooker counter pages are also translated correctly.
Wednesday, June 17, 2026
- Fix 23:55
When the language is switched to English, the category list and the mobile category sheet now show the English names (previously they stayed in Polish).
- Fix 02:00
Referee tablet: distinct error messages (bad PIN / no internet / server offline / no match). The „play!" beep silences when the network drops — no false alarms.
- New 00:30
PC and tablet snooker counters now sync in real-time via SignalR. Pot a ball on the PC and points appear instantly on the tablet and vice versa. „Frame OK" commits the result to the tournament match automatically.
- New 00:15
Full snooker counter (6-red and 15-red) built into the referee tablet. 7 coloured ball buttons, fouls 4-7, miss 4-7, free ball after snooker, switch player, undo, reset frame. Enforces the rules: red is disabled when none remain; in the final sequence only the next colour is enabled. Automatically tracks each player's highest break.
Tuesday, June 16, 2026
- New 23:00
Tournament highest break recorded per frame (snooker, 14.1). Shown as a gold badge next to game status („BREAK 87 · Jan Kowalski") and in a new „Break" column in standings. „Z kija" (break & run) remains only for 8/9/10-ball.
- New 21:30
New „Play now" button on ready-match cards — referee can push a match onto the first free table without waiting for the auto-scheduler. When all tables are busy, a picker lets you displace any scheduled match (matches in progress can't be interrupted).
- New 19:00
Saved player rosters — in the new-game form, „Save roster" (after adding 2+ players) and „Load roster" (from your saved list). Limit 20 rosters per account. Weekly tournaments no longer require typing players from scratch.
- Tweak 18:00
Smart match ordering in group stage and Round Robin — the system interleaves matches so the same player does not run two (let alone three) in a row. In group tournaments, matches from different groups alternate.
- Tweak 17:30
Opening a game now defaults to Bracket (cup formats) or Standings (Round Robin) instead of the match list. Exception: freshly created games stay on „Matches".
- New 15:00
New „What's new" page in the footer — a chronological changelog so you don't have to follow commits.
Monday, June 15, 2026
- Tweak 14:00
New announcements now default to a 30-day validity (previously 7).
- Tweak 13:50
When creating a new listing, the order is now: Announcement (default), Sale, Auction — the simplest flow first.
- Tweak 13:30
Phone number visibility is now ENABLED by default on new listings (the number is still protected against bots by a proof-of-work challenge).
- Tweak 12:40
On mobile, the offer map now sits BELOW the price card (not above) — buyers reach contact and purchase faster.
- New 11:20
New floating help button in the bottom-right corner (WhatsApp-style) — opens the support chat without going through profile. Guests get a sign-in prompt.
- New 10:50
The trophy "Games" icon on the mobile bottom bar now opens a menu with 3 options: Games, Join a game, Snooker Counter. Players were not finding the counter.
- Security 10:00
Terms of Service expanded with §6 — prohibition of scraping, phone harvesting and unauthorized API access. Sanctions: ban + damages + law enforcement (Polish Criminal Code Art. 267–269).
- Legal 09:30
Terms of Service and Privacy Policy are now available in English — bidbil.com shows EN, bidbil.pl shows PL.
- Fix 08:45
Clicking the activation link now activates your account and signs you in immediately (30-day session) — no detour through the login screen.
- Fix 08:30
Trying to sign in to an unactivated account now shows a clear „Account awaiting activation" message with a „Resend link" button — instead of the generic „Invalid login or password".
- New 07:00
Marketing pages (home, /about, /games) are now also available in English. Login/registration via Facebook OAuth is now visible in all browsers (experiment).