docs: Reorganizacja release notes - sortowanie i wytłuszczanie
- Wszystkie release notes od v1.0.0 do v1.20.0 posortowane od najważniejszych - Mega ważne funkcje wytłuszczone <strong> - Dodano sekcję security w szablonie - Stworzono przewodnik RELEASE_NOTES_GUIDE.md Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
74995f9b3e
commit
e92b237fa4
260
app.py
260
app.py
@ -10254,33 +10254,31 @@ def release_notes():
|
||||
'date': '29 stycznia 2026',
|
||||
'badges': ['new', 'improve', 'fix'],
|
||||
'new': [
|
||||
# AI
|
||||
'NordaGPT: Upgrade silnika AI do Gemini 3 Flash Preview (najnowszy model Google)',
|
||||
# MEGA WAŻNE - AI
|
||||
'<strong>NordaGPT: Upgrade do Gemini 3 Flash Preview</strong> - najnowszy model Google AI',
|
||||
'<strong>NordaGPT: Dwa modele do wyboru</strong> - Flash (darmowy) i Pro (płatny, lepszy)',
|
||||
'NordaGPT: 7x lepsze rozumowanie, thinking mode, 78% na SWE-bench',
|
||||
'NordaGPT: Dwa modele do wyboru - Flash (darmowy) i Pro (płatny, lepszy)',
|
||||
'NordaGPT: Osobne klucze API dla Free tier i Paid tier',
|
||||
'NordaGPT: Wyświetlanie szacowanego kosztu miesięcznego w panelu modelu',
|
||||
# PWA
|
||||
'PWA: Aplikacja mobilna - możliwość instalacji na telefonie (iOS/Android)',
|
||||
'NordaGPT: Wyświetlanie szacowanego kosztu miesięcznego',
|
||||
# MEGA WAŻNE - PWA
|
||||
'<strong>PWA: Aplikacja mobilna</strong> - możliwość instalacji na telefonie (iOS/Android)',
|
||||
'PWA: Web Manifest z ikonami 192px i 512px',
|
||||
'PWA: Apple Touch Icon dla urządzeń iOS',
|
||||
# Aktualności
|
||||
'Aktualności: Obsługa wielu kategorii dla jednego ogłoszenia',
|
||||
'Aktualności: Nowe kategorie - Wewnętrzne, Zewnętrzne, Wydarzenie, Okazja biznesowa, Partnerstwo',
|
||||
'Aktualności: Formularz z checkboxami do wyboru wielu kategorii',
|
||||
# Edukacja
|
||||
'Edukacja: Integracja wideo z portalem (modal player)',
|
||||
'Edukacja: Wideo "Wprowadzenie do Norda Biznes Partner" (30s zajawka)',
|
||||
'Edukacja: Wideo "Wprowadzenie do Norda Biznes Partner"',
|
||||
],
|
||||
'improve': [
|
||||
'Strona główna: Nowa ikona NordaGPT w sekcji asystenta AI',
|
||||
'Stopka: Usunięcie nieaktywnego linku "Nowi członkowie"',
|
||||
'Strona główna: Nowa ikona NordaGPT',
|
||||
'Stopka: Usunięcie nieaktywnych linków',
|
||||
],
|
||||
'fix': [
|
||||
'Tablica B2B: Naprawiono błąd 500 przy dodawaniu nowych ogłoszeń',
|
||||
'Tablica B2B: Naprawiono błąd 500 przy dodawaniu ogłoszeń',
|
||||
'Kalendarz: Naprawiono błąd 500 przy dodawaniu wydarzeń',
|
||||
'Kontakty: Naprawiono nawigację w module kontaktów',
|
||||
'Aktualności: Naprawiono filtrowanie po kategorii (PostgreSQL ARRAY)',
|
||||
'Kontakty: Naprawiono nawigację w module',
|
||||
],
|
||||
},
|
||||
{
|
||||
@ -10288,41 +10286,28 @@ def release_notes():
|
||||
'date': '28 stycznia 2026',
|
||||
'badges': ['new', 'improve', 'security'],
|
||||
'new': [
|
||||
# Prywatność i Blokowanie
|
||||
'Prywatność: Ukrywanie telefonu i emaila w profilu (Ustawienia → Prywatność)',
|
||||
# MEGA WAŻNE - Prywatność
|
||||
'<strong>Prywatność: Ukrywanie telefonu i emaila</strong> w profilu (Ustawienia → Prywatność)',
|
||||
'<strong>Blokowanie użytkowników</strong> - możliwość blokowania kontaktów (Ustawienia → Blokady)',
|
||||
'Prywatność: Preferencje kanałów kontaktu (email, telefon, portal)',
|
||||
'Prywatność: Dodatkowa notatka o preferencjach (np. godziny kontaktu)',
|
||||
'Blokowanie: Możliwość blokowania kontaktów (Ustawienia → Blokady)',
|
||||
'Blokowanie: Bidirectional - zablokowany użytkownik nie może wysłać wiadomości',
|
||||
'Blokowanie: Domena emaila w nawiasie przy duplikatach nazw (np. "Jan Kowalski (gmail)")',
|
||||
# Kategorie
|
||||
'Kategorie: Hierarchiczna struktura (4 główne grupy: Usługi, Budownictwo, Handel, Produkcja)',
|
||||
'Kategorie: Nowa podkategoria "Budownictwo ogólne" (9 firm)',
|
||||
'Kategorie: Nowa podkategoria "Produkcja ogólna" (13 firm)',
|
||||
'Kategorie: Nowa podkategoria "Usługi finansowe" (banki, kantory, ubezpieczenia)',
|
||||
'Kategorie: Rozdzielenie "Księgowość" od "Usługi finansowe"',
|
||||
'Katalog: Żółta kategoria "Do uzupełnienia" dla firm wymagających uzupełnienia danych (27 firm)',
|
||||
'Katalog: Sortowanie kategorii i podkategorii malejąco po liczbie firm',
|
||||
'Blokowanie: Bidirectional - zablokowany nie może wysłać wiadomości',
|
||||
# MEGA WAŻNE - Kategorie
|
||||
'<strong>Kategorie: Hierarchiczna struktura</strong> - 4 główne grupy branżowe',
|
||||
'Katalog: Żółta kategoria "Do uzupełnienia" dla 27 firm',
|
||||
'Kategorie: Nowe podkategorie (Budownictwo ogólne, Produkcja ogólna, Usługi finansowe)',
|
||||
# Nowe sekcje
|
||||
'Edukacja: Nowa sekcja Platforma Edukacyjna w menu',
|
||||
'Insights: Panel dla adminów do zbierania feedbacku z forum i czata',
|
||||
'Insights: Kategoryzacja: propozycje funkcji, błędy, wyszukiwania firm',
|
||||
'Insights: Workflow statusów: nowy → przejrzany → zaplanowany → zrealizowany',
|
||||
# Monitoring
|
||||
'Health: Dodano monitorowanie nowych endpointów (ustawienia, wiadomości, edukacja, insights)',
|
||||
'<strong>Edukacja: Nowa sekcja</strong> Platforma Edukacyjna w menu',
|
||||
'Insights: Panel dla adminów do zbierania feedbacku',
|
||||
'Health: Monitorowanie nowych endpointów',
|
||||
],
|
||||
'improve': [
|
||||
'Katalog: Tylko aktywna kategoria jest podświetlona (nieaktywne mają neutralny styl)',
|
||||
'Kategorie: Przeniesienie INPI i SEO PARTNER do "IT i Technologie"',
|
||||
'Kategorie: Spójność sum - główne kategorie pokazują prawidłowe sumy podkategorii',
|
||||
'Katalog: Tylko aktywna kategoria podświetlona',
|
||||
'Kategorie: Sortowanie malejąco po liczbie firm',
|
||||
],
|
||||
'security': [
|
||||
'RODO: Automatyczne wykrywanie i maskowanie danych wrażliwych w czacie',
|
||||
'RODO: Wykrywane typy: PESEL, karty kredytowe, IBAN, hasła, dowody, paszporty',
|
||||
'RODO: NIP i email NIE są maskowane (dane biznesowe)',
|
||||
'Chat: Izolacja sesji - użytkownicy nie widzą pytań innych użytkowników',
|
||||
'Chat: Defense-in-depth - walidacja właściciela na poziomie silnika',
|
||||
'Admin: Anonimizacja zapytań w panelu analityki (tylko statystyki, nie treść)',
|
||||
'<strong>RODO: Automatyczne maskowanie danych wrażliwych</strong> w czacie (PESEL, karty, IBAN)',
|
||||
'<strong>Chat: Izolacja sesji</strong> - użytkownicy nie widzą pytań innych',
|
||||
'Admin: Anonimizacja zapytań w panelu analityki',
|
||||
],
|
||||
},
|
||||
{
|
||||
@ -10330,13 +10315,10 @@ def release_notes():
|
||||
'date': '26 stycznia 2026',
|
||||
'badges': ['new'],
|
||||
'new': [
|
||||
'Aktualności: Nowa sekcja dla członków (Społeczność → Aktualności)',
|
||||
'<strong>Aktualności: Nowa sekcja</strong> dla członków (Społeczność → Aktualności)',
|
||||
'Aktualności: Panel administracyjny do zarządzania ogłoszeniami',
|
||||
'Aktualności: Kategorie - ogólne, wydarzenia, okazje biznesowe, od członków, partnerstwa',
|
||||
'Aktualności: Statusy publikacji (szkic, opublikowane, zarchiwizowane)',
|
||||
'Aktualności: Przypinanie ważnych ogłoszeń na górze listy',
|
||||
'Aktualności: Kategorie, statusy publikacji, przypinanie',
|
||||
'Aktualności: Linki zewnętrzne i załączniki PDF',
|
||||
'Aktualności: Licznik wyświetleń i informacja o autorze',
|
||||
'Pierwsze ogłoszenia: Baza noclegowa ARP, Konkurs Tytani Przedsiębiorczości',
|
||||
],
|
||||
},
|
||||
@ -10345,28 +10327,21 @@ def release_notes():
|
||||
'date': '14 stycznia 2026',
|
||||
'badges': ['new', 'improve', 'fix'],
|
||||
'new': [
|
||||
'Raporty: Nowa sekcja dostępna z menu głównego dla zalogowanych',
|
||||
'Raporty: Staż członkostwa w Izbie NORDA (sortowanie od najstarszego)',
|
||||
'Raporty: Pokrycie Social Media (analiza 6 platform)',
|
||||
'Raporty: Struktura branżowa (rozkład firm wg kategorii)',
|
||||
'Email: Konfiguracja DKIM, SPF i DMARC dla nordabiznes.pl',
|
||||
'Email: Wysyłka z noreply@nordabiznes.pl (Microsoft 365)',
|
||||
'Profil firmy: Data przystąpienia do Izby NORDA',
|
||||
'Profil firmy: Karta "Członek Izby NORDA od" z datą i stażem',
|
||||
# MEGA WAŻNE - Bezpieczeństwo
|
||||
'<strong>GeoIP Blocking</strong> - blokowanie krajów wysokiego ryzyka (RU, CN, KP, IR, BY)',
|
||||
'<strong>Email: Własna domena</strong> - wysyłka z noreply@nordabiznes.pl (DKIM, SPF, DMARC)',
|
||||
# Raporty
|
||||
'<strong>Raporty: Nowa sekcja</strong> - staż członkostwa, Social Media, struktura branżowa',
|
||||
'Profil firmy: Data przystąpienia do Izby NORDA z kartą stażu',
|
||||
'Integracja: API CEIDG do pobierania danych JDG',
|
||||
'Bezpieczeństwo: GeoIP blocking - blokowanie krajów wysokiego ryzyka (RU, CN, KP, IR, BY, SY, VE, CU)',
|
||||
'Bezpieczeństwo: Panel z listą wszystkich mechanizmów ochrony (oceny gwiazdkowe)',
|
||||
'Bezpieczeństwo: Statystyki GeoIP (dzienne, miesięczne, roczne, breakdown per kraj)',
|
||||
'Bezpieczeństwo: Panel z oceną wszystkich mechanizmów ochrony',
|
||||
],
|
||||
'improve': [
|
||||
'Dane firm: Rok założenia uzupełniony dla 71 z 111 firm (64%)',
|
||||
'Dane firm: Automatyczne uzupełnianie z KRS i CEIDG',
|
||||
'Import dat przystąpienia: 57 firm z historią od 1997 roku',
|
||||
],
|
||||
'fix': [
|
||||
'Analityka: Polskie znaki w interfejsie',
|
||||
'Analityka: Pełne nazwy użytkowników',
|
||||
'Analityka: Obsługa wartości NULL przy obliczaniu czasu',
|
||||
'Analityka: Polskie znaki i pełne nazwy użytkowników',
|
||||
],
|
||||
},
|
||||
{
|
||||
@ -10374,39 +10349,27 @@ def release_notes():
|
||||
'date': '13 stycznia 2026',
|
||||
'badges': ['new', 'improve', 'fix'],
|
||||
'new': [
|
||||
'NordaGPT: Rozszerzony kontekst AI o rekomendacje, aktualności, kalendarz, B2B i forum',
|
||||
'NordaGPT: Kontekst AI zawiera teraz dane KRS (osoby), social media, audyty GBP i SEO',
|
||||
'NordaGPT: Klikalne linki URL i adresy email w odpowiedziach AI',
|
||||
'NordaGPT: Banner na stronie głównej z szybkim dostępem do chatu',
|
||||
'Kalendarz: Widok siatki miesięcznej z wydarzeniami',
|
||||
'Kalendarz: Banner wydarzenia na stronie głównej z listą uczestników',
|
||||
'Kalendarz: Quick RSVP - szybkie potwierdzenie udziału ze strony głównej',
|
||||
'Kalendarz: Klikalne badge uczestników (linki do profili firm)',
|
||||
'KRS Audit: Nowy panel /admin/krs-audit z parsowaniem dokumentów PDF',
|
||||
'KRS Audit: Progress bar dla audytu pojedynczego i wsadowego',
|
||||
'KRS Audit: Sortowalne kolumny i wyświetlanie wszystkich kodów PKD',
|
||||
'AI Enrichment: Przycisk wzbogacania danych AI na profilu firmy',
|
||||
'AI Enrichment: Web search do automatycznego zbierania informacji o firmie',
|
||||
'Analityka: Panel /admin/analytics ze śledzeniem sesji użytkowników',
|
||||
'Analityka: Ranking użytkowników wg aktywności (sesje, strony, kliknięcia)',
|
||||
'Analityka: Edycja danych użytkowników w panelu admina',
|
||||
'Profil firmy: Wszystkie kody PKD wyświetlane na stronie firmy',
|
||||
'Profil firmy: Dane właściciela CEIDG dla jednoosobowych działalności',
|
||||
'Profil firmy: Powiązanie kont użytkowników z osobami z KRS',
|
||||
# MEGA WAŻNE - NordaGPT
|
||||
'<strong>NordaGPT: Rozszerzony kontekst AI</strong> - rekomendacje, kalendarz, B2B, forum, KRS',
|
||||
'<strong>NordaGPT: Klikalne linki</strong> URL i email w odpowiedziach AI',
|
||||
'<strong>NordaGPT: Banner na stronie głównej</strong> z szybkim dostępem do chatu',
|
||||
# Kalendarz
|
||||
'<strong>Kalendarz: Widok siatki miesięcznej</strong> z Quick RSVP',
|
||||
'Kalendarz: Banner wydarzenia na stronie głównej z uczestnikami',
|
||||
# AI i Audyty
|
||||
'<strong>AI Enrichment</strong> - wzbogacanie danych firm przez AI z web search',
|
||||
'<strong>KRS Audit</strong> - parsowanie dokumentów PDF, progress bar',
|
||||
'<strong>Analityka: Panel /admin/analytics</strong> - śledzenie sesji użytkowników',
|
||||
# Profile
|
||||
'Profil firmy: Wszystkie kody PKD, dane właściciela CEIDG',
|
||||
'Profil firmy: Zielone badge dla osób zweryfikowanych w KRS',
|
||||
'Forum/B2B: Kategoria "test" do oznaczania testowych treści',
|
||||
'Forum/B2B: Przycisk toggle do ukrywania/pokazywania testów',
|
||||
],
|
||||
'improve': [
|
||||
'Uczestnicy wydarzeń wyświetlani pionowo, alfabetycznie, z nazwami firm',
|
||||
'Lepsze formatowanie odpowiedzi AI (listy, linki, Markdown)',
|
||||
'Reorganizacja sekcji na profilu firmy',
|
||||
'Lepsze formatowanie odpowiedzi AI (Markdown)',
|
||||
'Banner NordaGPT minimalizowalny',
|
||||
],
|
||||
'fix': [
|
||||
'Rate limit logowania zwiększony z 5/h do 30/min',
|
||||
'Rate limit audytu SEO zwiększony z 10/h do 200/h',
|
||||
'AI Chat: Poprawna obsługa składni linków Markdown',
|
||||
'Rate limit logowania i audytu SEO zwiększony',
|
||||
],
|
||||
},
|
||||
{
|
||||
@ -10414,23 +10377,16 @@ def release_notes():
|
||||
'date': '12 stycznia 2026',
|
||||
'badges': ['new', 'improve', 'fix'],
|
||||
'new': [
|
||||
'Audyt GBP: Sekcja edukacyjna "Jak działa wizytówka Google?" z trzema kartami',
|
||||
'Audyt GBP: Przycisk "Zobacz wizytówkę Google" prowadzący do profilu w Maps',
|
||||
'Audyt GBP: Pełny audyt z Google Places API dla wszystkich 111 firm',
|
||||
'Audyty: Klikalne banery wyników prowadzą do szczegółowych stron audytu',
|
||||
'Audyty: Sekcje audytów inline na profilu firmy (SEO, GBP, Social Media, IT)',
|
||||
'<strong>Audyt GBP: Pełny audyt</strong> z Google Places API dla wszystkich firm',
|
||||
'Audyt GBP: Sekcja edukacyjna "Jak działa wizytówka Google?"',
|
||||
'Audyty: Sekcje inline na profilu firmy (SEO, GBP, Social Media, IT)',
|
||||
],
|
||||
'improve': [
|
||||
'Ujednolicona 5-poziomowa skala kolorów dla wszystkich audytów',
|
||||
'Social Media: Wynik jako procent (np. 16%) zamiast liczby platform',
|
||||
'Normalizacja URL stron WWW firm (usunięcie duplikatów)',
|
||||
'Spójność kolorów między profilem firmy a szczegółami audytu',
|
||||
'Ujednolicona 5-poziomowa skala kolorów dla audytów',
|
||||
'Social Media: Wynik jako procent zamiast liczby platform',
|
||||
],
|
||||
'fix': [
|
||||
'Audyt GBP: Kategorie Google wyświetlane po polsku (np. "Warsztat samochodowy" zamiast "Car Repair")',
|
||||
'ZOPK: Usunięcie duplikatów interesariuszy i naprawa polskich znaków',
|
||||
'ZOPK: Unique constraint na nazwę interesariusza (zapobiega duplikatom)',
|
||||
'SEO: Spójność wyników między profilem firmy a szczegółami audytu',
|
||||
'Audyt GBP: Kategorie Google po polsku',
|
||||
],
|
||||
},
|
||||
{
|
||||
@ -10438,30 +10394,18 @@ def release_notes():
|
||||
'date': '11 stycznia 2026',
|
||||
'badges': ['new', 'improve'],
|
||||
'new': [
|
||||
'Mapa Powiązań - interaktywna wizualizacja powiązań firm i osób (D3.js)',
|
||||
'Filtry mapy: węzły (firmy/osoby), powiązania (zarząd/wspólnicy/prokurenci/JDG)',
|
||||
'Liczniki przy filtrach aktualizowane na bieżąco',
|
||||
'Profile osób (/osoba) - dane z KRS/CEIDG i portalu',
|
||||
'Wyszukiwarka osób - częściowe dopasowanie imienia/nazwiska',
|
||||
'Klikalne osoby w sekcji Zarząd i Wspólnicy na profilu firmy',
|
||||
'Logo firm w wynikach wyszukiwania (klikalne)',
|
||||
'AI Learning: System uczenia chatbota z feedbacku użytkowników',
|
||||
'AI Learning: Few-shot learning z pozytywnych odpowiedzi',
|
||||
'AI Learning: Przykłady startowe (seed) dla zimnego startu',
|
||||
'Panel AI Usage: Szczegółowy widok użycia AI per użytkownik',
|
||||
'Panel AI Usage: Klikalne nazwy użytkowników w rankingu',
|
||||
'Panel Analytics: Sekcja statusu uczenia AI',
|
||||
# MEGA WAŻNE
|
||||
'<strong>Mapa Powiązań</strong> - interaktywna wizualizacja firm i osób (D3.js)',
|
||||
'<strong>Profile osób</strong> (/osoba) - dane z KRS/CEIDG i portalu',
|
||||
'<strong>AI Learning</strong> - uczenie chatbota z feedbacku użytkowników',
|
||||
# Inne
|
||||
'Wyszukiwarka osób z częściowym dopasowaniem',
|
||||
'Logo firm w wynikach wyszukiwania',
|
||||
'Panel AI Usage: szczegółowy widok per użytkownik',
|
||||
],
|
||||
'improve': [
|
||||
'Mapa: fullscreen modal zamiast osobnej strony',
|
||||
'Mapa: etykiety ukryte domyślnie, widoczne przy hover',
|
||||
'Poprawka liczenia firm vs ról (6 firm z 9 rolami)',
|
||||
'Tooltip pokazuje wszystkie powiązania bez limitu',
|
||||
'Ukrycie sekcji Aktualności na profilach firm (tymczasowo)',
|
||||
'Zmiana nazwy ZOPK na ZOP Kaszubia (Zielony Okręg Przemysłowy Kaszubia)',
|
||||
'Stylizowane modale zamiast natywnych dialogów przeglądarki',
|
||||
'System toastów do komunikatów sukcesu/błędu',
|
||||
'Bezpieczeństwo: Usunięcie starych haseł z dokumentacji',
|
||||
'Mapa: fullscreen modal, etykiety przy hover',
|
||||
'System toastów zamiast natywnych dialogów',
|
||||
],
|
||||
},
|
||||
{
|
||||
@ -10469,27 +10413,17 @@ def release_notes():
|
||||
'date': '10 stycznia 2026',
|
||||
'badges': ['new', 'improve', 'security'],
|
||||
'new': [
|
||||
'Forum: Kategorie tematów (Propozycja funkcji, Błąd, Pytanie, Ogłoszenie)',
|
||||
'Forum: Statusy zgłoszeń (Nowy, W realizacji, Rozwiązany, Odrzucony)',
|
||||
'Forum: Załączniki obrazów do tematów i odpowiedzi (JPG, PNG, GIF)',
|
||||
'Forum: Upload wielu plików jednocześnie (do 10 na odpowiedź)',
|
||||
'Forum: Drag & drop i wklejanie ze schowka (Ctrl+V)',
|
||||
'Panel admina: Statystyki i zmiana statusów tematów',
|
||||
'Dokumentacja architektury systemu z diagramami Mermaid (19 plików)',
|
||||
'Diagramy C4: System Context, Containers, Components, Deployment',
|
||||
'Dokumentacja przepływów danych: Auth, Search, AI Chat, SEO Audit',
|
||||
'Nowy README.md z kompletną dokumentacją projektu',
|
||||
'Dokumentacja bezpieczeństwa (docs/SECURITY.md)',
|
||||
# MEGA WAŻNE
|
||||
'<strong>Forum: Załączniki obrazów</strong> - drag & drop, Ctrl+V, do 10 plików',
|
||||
'<strong>Forum: Kategorie i statusy</strong> zgłoszeń (Propozycja, Błąd, Pytanie)',
|
||||
'<strong>Dokumentacja architektury</strong> - 19 plików, diagramy C4, Mermaid',
|
||||
],
|
||||
'improve': [
|
||||
'Bezpieczny upload z walidacją magic bytes i usuwaniem EXIF',
|
||||
'Responsywna siatka podglądu załączników',
|
||||
'Filtry kategorii i statusów na liście tematów',
|
||||
'Bezpieczny upload z walidacją magic bytes',
|
||||
],
|
||||
'security': [
|
||||
'Usunięcie hardcoded credentials z kodu źródłowego',
|
||||
'<strong>Usunięcie hardcoded credentials</strong> z kodu źródłowego',
|
||||
'Zmiana hasła PostgreSQL na produkcji',
|
||||
'Konfiguracja zmiennych środowiskowych w .env',
|
||||
],
|
||||
},
|
||||
{
|
||||
@ -10497,36 +10431,30 @@ def release_notes():
|
||||
'date': '9 stycznia 2026',
|
||||
'badges': ['new', 'improve'],
|
||||
'new': [
|
||||
'Panel Audyt GBP - przegląd kompletności profili Google Business',
|
||||
'Panel Audyt Social - przegląd pokrycia Social Media wszystkich firm',
|
||||
'Dodawanie użytkowników bezpośrednio w panelu admina',
|
||||
'Tworzenie użytkowników z AI - wklejanie tekstu lub screenshotów z dowolnego źródła',
|
||||
'<strong>Panel Audyt GBP</strong> - przegląd profili Google Business',
|
||||
'<strong>Panel Audyt Social</strong> - pokrycie Social Media',
|
||||
'<strong>Tworzenie użytkowników z AI</strong> - wklejanie tekstu/screenshotów',
|
||||
],
|
||||
'improve': [
|
||||
'Wyświetlanie przypisanych firm przy użytkownikach',
|
||||
'Poprawki wyświetlania nazw użytkowników w panelu',
|
||||
'Nowy pasek Admin z pogrupowanymi funkcjami (Zarządzanie, Audyty, Analityka)',
|
||||
'Nowy pasek Admin z pogrupowanymi funkcjami',
|
||||
],
|
||||
},
|
||||
{
|
||||
'version': 'v1.8.0',
|
||||
'date': '8 stycznia 2026',
|
||||
'badges': ['new', 'improve'],
|
||||
'badges': ['new'],
|
||||
'new': [
|
||||
'Panel Audyt IT - kompleksowy audyt infrastruktury IT firm',
|
||||
'<strong>Panel Audyt IT</strong> - kompleksowy audyt infrastruktury IT firm',
|
||||
'Eksport audytów IT do CSV',
|
||||
],
|
||||
'improve': [
|
||||
'Poprawki w formularzach edycji audytu IT',
|
||||
],
|
||||
},
|
||||
{
|
||||
'version': 'v1.7.0',
|
||||
'date': '6 stycznia 2026',
|
||||
'badges': ['new'],
|
||||
'new': [
|
||||
'Panel Audyt SEO - analiza wydajności stron www firm',
|
||||
'Integracja z Google PageSpeed Insights API',
|
||||
'<strong>Panel Audyt SEO</strong> - analiza wydajności stron www firm',
|
||||
'<strong>Integracja z Google PageSpeed Insights API</strong>',
|
||||
],
|
||||
},
|
||||
{
|
||||
@ -10534,9 +10462,9 @@ def release_notes():
|
||||
'date': '29 grudnia 2025',
|
||||
'badges': ['new'],
|
||||
'new': [
|
||||
'System newsów i wzmianek medialnych o firmach',
|
||||
'<strong>System newsów</strong> i wzmianek medialnych o firmach',
|
||||
'Panel moderacji newsów dla adminów',
|
||||
'Integracja z Brave Search API',
|
||||
'<strong>Integracja z Brave Search API</strong>',
|
||||
],
|
||||
},
|
||||
{
|
||||
@ -10544,7 +10472,7 @@ def release_notes():
|
||||
'date': '15 grudnia 2025',
|
||||
'badges': ['new', 'improve'],
|
||||
'new': [
|
||||
'Panel Social Media - zarządzanie profilami społecznościowymi',
|
||||
'<strong>Panel Social Media</strong> - zarządzanie profilami społecznościowymi',
|
||||
'Weryfikacja aktywności profili Social Media',
|
||||
],
|
||||
'improve': [
|
||||
@ -10556,9 +10484,9 @@ def release_notes():
|
||||
'date': '1 grudnia 2025',
|
||||
'badges': ['new'],
|
||||
'new': [
|
||||
'System rekomendacji między firmami',
|
||||
'Panel składek członkowskich',
|
||||
'Kalendarz wydarzeń Norda Biznes',
|
||||
'<strong>System rekomendacji</strong> między firmami',
|
||||
'<strong>Panel składek członkowskich</strong>',
|
||||
'<strong>Kalendarz wydarzeń</strong> Norda Biznes',
|
||||
],
|
||||
},
|
||||
{
|
||||
@ -10566,8 +10494,8 @@ def release_notes():
|
||||
'date': '28 listopada 2025',
|
||||
'badges': ['new', 'improve'],
|
||||
'new': [
|
||||
'Chatbot AI z wiedzą o wszystkich firmach',
|
||||
'Wyszukiwarka firm z synonimami i fuzzy matching',
|
||||
'<strong>Chatbot AI (NordaGPT)</strong> z wiedzą o wszystkich firmach',
|
||||
'<strong>Wyszukiwarka firm</strong> z synonimami i fuzzy matching',
|
||||
],
|
||||
'improve': [
|
||||
'Ulepszony SearchService z PostgreSQL FTS',
|
||||
@ -10578,7 +10506,7 @@ def release_notes():
|
||||
'date': '25 listopada 2025',
|
||||
'badges': ['new'],
|
||||
'new': [
|
||||
'System wiadomości prywatnych między użytkownikami',
|
||||
'<strong>System wiadomości prywatnych</strong> między użytkownikami',
|
||||
'Powiadomienia o nowych wiadomościach',
|
||||
],
|
||||
},
|
||||
@ -10587,7 +10515,7 @@ def release_notes():
|
||||
'date': '24 listopada 2025',
|
||||
'badges': ['new', 'improve'],
|
||||
'new': [
|
||||
'Rejestracja i logowanie użytkowników',
|
||||
'<strong>Rejestracja i logowanie</strong> użytkowników',
|
||||
'Profile użytkowników powiązane z firmami',
|
||||
],
|
||||
'improve': [
|
||||
@ -10599,8 +10527,8 @@ def release_notes():
|
||||
'date': '23 listopada 2025',
|
||||
'badges': ['new'],
|
||||
'new': [
|
||||
'Oficjalny start platformy Norda Biznes Partner',
|
||||
'Katalog 111 firm członkowskich',
|
||||
'<strong>Oficjalny start platformy Norda Biznes Partner</strong>',
|
||||
'<strong>Katalog 111 firm członkowskich</strong>',
|
||||
'Wyszukiwarka firm po nazwie, kategorii, usługach',
|
||||
'Profile firm z pełnymi danymi kontaktowymi',
|
||||
],
|
||||
|
||||
108
docs/RELEASE_NOTES_GUIDE.md
Normal file
108
docs/RELEASE_NOTES_GUIDE.md
Normal file
@ -0,0 +1,108 @@
|
||||
# Przewodnik po Release Notes - NordaBiz
|
||||
|
||||
## Struktura Release Notes
|
||||
|
||||
Release notes są zdefiniowane w pliku `app.py` w funkcji `release_notes()` jako lista słowników.
|
||||
|
||||
```python
|
||||
{
|
||||
'version': 'v1.XX.0',
|
||||
'date': 'DD miesiąca RRRR',
|
||||
'badges': ['new', 'improve', 'fix', 'security'],
|
||||
'new': [...], # Nowości
|
||||
'improve': [...], # Ulepszenia
|
||||
'fix': [...], # Naprawione błędy
|
||||
'security': [...], # Bezpieczeństwo (opcjonalne)
|
||||
}
|
||||
```
|
||||
|
||||
## Zasady tworzenia wpisów
|
||||
|
||||
### 1. Sortowanie od najważniejszych
|
||||
|
||||
Wpisy w każdej sekcji (`new`, `improve`, `fix`, `security`) sortujemy:
|
||||
- **Na górze:** Najważniejsze zmiany (mega ważne)
|
||||
- **Na dole:** Mniej istotne szczegóły
|
||||
|
||||
### 2. Wytłuszczanie mega ważnych zmian
|
||||
|
||||
Używamy HTML `<strong>` dla najważniejszych funkcjonalności:
|
||||
|
||||
```python
|
||||
'new': [
|
||||
'<strong>NordaGPT: Upgrade do Gemini 3</strong> - najnowszy model AI',
|
||||
'<strong>PWA: Aplikacja mobilna</strong> - instalacja na iOS/Android',
|
||||
'Aktualności: Obsługa wielu kategorii', # mniej ważne - bez bold
|
||||
]
|
||||
```
|
||||
|
||||
### 3. Kategorie zmian
|
||||
|
||||
| Badge | Ikona | Opis |
|
||||
|-------|-------|------|
|
||||
| `new` | ✨ | Nowe funkcjonalności |
|
||||
| `improve` | ⚡ | Ulepszenia istniejących funkcji |
|
||||
| `fix` | 🔧 | Naprawione błędy |
|
||||
| `security` | 🔒 | Zmiany bezpieczeństwa |
|
||||
|
||||
### 4. Format wpisu
|
||||
|
||||
```
|
||||
'<strong>Moduł: Funkcja główna</strong> - krótki opis'
|
||||
'Moduł: Funkcja drugorzędna - szczegóły'
|
||||
```
|
||||
|
||||
## Przykład dobrze sformatowanego release
|
||||
|
||||
```python
|
||||
{
|
||||
'version': 'v1.20.0',
|
||||
'date': '29 stycznia 2026',
|
||||
'badges': ['new', 'improve', 'fix'],
|
||||
'new': [
|
||||
# MEGA WAŻNE - na górze, z <strong>
|
||||
'<strong>NordaGPT: Upgrade do Gemini 3 Flash Preview</strong> - najnowszy model Google AI',
|
||||
'<strong>NordaGPT: Dwa modele do wyboru</strong> - Flash (darmowy) i Pro (płatny)',
|
||||
'<strong>PWA: Aplikacja mobilna</strong> - możliwość instalacji na telefonie',
|
||||
# Mniej ważne - niżej, bez bold
|
||||
'NordaGPT: Wyświetlanie szacowanego kosztu miesięcznego',
|
||||
'Aktualności: Obsługa wielu kategorii',
|
||||
],
|
||||
'improve': [
|
||||
'Strona główna: Nowa ikona NordaGPT',
|
||||
],
|
||||
'fix': [
|
||||
'Tablica B2B: Naprawiono błąd 500',
|
||||
],
|
||||
},
|
||||
```
|
||||
|
||||
## Checklist przed dodaniem release
|
||||
|
||||
- [ ] Wersja zwiększona (major.minor.patch)
|
||||
- [ ] Data w formacie "DD miesiąca RRRR"
|
||||
- [ ] Wpisy posortowane od najważniejszych
|
||||
- [ ] Mega ważne zmiany wytłuszczone `<strong>`
|
||||
- [ ] Odpowiednie badges (`new`, `improve`, `fix`, `security`)
|
||||
- [ ] Składnia Python poprawna (`python3 -m py_compile app.py`)
|
||||
|
||||
## Lokalizacja plików
|
||||
|
||||
- **Release notes:** `app.py` → funkcja `release_notes()` (około linii 10250)
|
||||
- **Szablon HTML:** `templates/release_notes.html`
|
||||
- **Strona:** https://nordabiznes.pl/release-notes
|
||||
|
||||
## Deploy po zmianach
|
||||
|
||||
```bash
|
||||
# 1. Weryfikacja składni
|
||||
python3 -m py_compile app.py
|
||||
|
||||
# 2. Commit
|
||||
git add app.py
|
||||
git commit -m "docs: Release notes vX.XX.0"
|
||||
|
||||
# 3. Push i deploy
|
||||
git push origin master && git push inpi master
|
||||
ssh maciejpi@10.22.68.249 "cd /var/www/nordabiznes && sudo -u www-data git pull && sudo systemctl restart nordabiznes"
|
||||
```
|
||||
@ -135,6 +135,7 @@
|
||||
.change-category.new h4::before { content: '✨'; }
|
||||
.change-category.fix h4::before { content: '🔧'; }
|
||||
.change-category.improve h4::before { content: '⚡'; }
|
||||
.change-category.security h4::before { content: '🔒'; }
|
||||
.change-category.beta h4::before { content: '🧪'; }
|
||||
|
||||
.change-list {
|
||||
@ -276,7 +277,7 @@
|
||||
<h4>Nowości</h4>
|
||||
<ul class="change-list">
|
||||
{% for item in release.new %}
|
||||
<li>{{ item }}</li>
|
||||
<li>{{ item|safe }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
@ -287,7 +288,7 @@
|
||||
<h4>Ulepszenia</h4>
|
||||
<ul class="change-list">
|
||||
{% for item in release.improve %}
|
||||
<li>{{ item }}</li>
|
||||
<li>{{ item|safe }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
@ -298,7 +299,18 @@
|
||||
<h4>Naprawione</h4>
|
||||
<ul class="change-list">
|
||||
{% for item in release.fix %}
|
||||
<li>{{ item }}</li>
|
||||
<li>{{ item|safe }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if release.security %}
|
||||
<div class="change-category security">
|
||||
<h4>Bezpieczeństwo</h4>
|
||||
<ul class="change-list">
|
||||
{% for item in release.security %}
|
||||
<li>{{ item|safe }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
@ -309,7 +321,7 @@
|
||||
<h4>W fazie testów (BETA)</h4>
|
||||
<ul class="change-list">
|
||||
{% for item in release.beta %}
|
||||
<li>{{ item }}</li>
|
||||
<li>{{ item|safe }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user