- Moved the traffic dashboard onto the site and localized it.
- Added server stats, geography, route templates, and crawler cost.
- Added percentile latency tables and a disk usage chart.
- Added database-backed feature flags with an admin page.
- Added nightly database backups with thinned retention.
- Gave every multilingual collection one abbreviation per language.
- Read a law at any of its past consolidated versions over MCP.
- Gated legislation ingest on freshness and real source work.
- Let readers bookmark a document from the picker row.
- Added an advertising placement in the right column, behind a flag.
- Extracted the design system into a shared package.
- Replaced the traffic dashboard with a custom one, live over SSE.
- Added filters, six charts, and deploy markers to the dashboard.
- Titled decision passages by their part instead of the docket.
- Keyed Systematic Compilation references by their ELI work id.
- Fixed sign-in from document pages and the doubled locale prefix.
- Mapped Symbol-font private-use glyphs to real characters.
- Corrected repealed notices and the version picker status dots.
- Hid the chat bar on the sign-in and sign-up pages.
- Parsed pre-XML consolidation PDFs into the legal AST.
- Marked each version's force with a status dot in the picker.
- Paired Official Compilation acts with the law versions they produced.
- Showed which acts a version is made of, and synced relations nightly.
- Added a live traffic dashboard on its own domain.
- Persisted access logs and moved the incremental cache to the data volume.
- Redirected the pre-unification decision URLs.
- Stopped streamed pages from shifting as they load.
- Added a tool that maps the site's main pages for the agent.
- Documented the MCP server on a public page and renamed its tools.
- Added a tool that reads any site page as paginated Markdown.
- Let admins start a daily or full pipeline run from coverage.
- Added message feedback to the chat.
- Parsed historical Official Compilation PDFs as legal structure.
- Gave every circular source an explicit prose grammar.
- Bound every catalog source to a declared parser.
- Deleted documents proven not to be documents.
- Staged a stopword-free rebuild of every index family.
- Carried the adopted texts of the item-numbered Federal Gazette.
- Renamed the federal source and cross-linked the three compilations.
- Moved the amendment history into a dialog beside the version picker.
- Served pinpoint anchors on every citation link.
- Discovered the item-numbered Federal Gazette era from 2021 on.
- Put every spawned pipeline worker under a deadline.
- Refined the global chat experience.
- Renamed the search index aliases to kind and kind-chunks.
- Added a chat bar on every page, backed by the MCP toolset.
- Told the agent which page the reader is currently on.
- Let readers quote a selected passage into the chat.
- Added a WYSIWYG composer with Markdown editing and command autocomplete.
- Required an API key on the public REST API.
- Gathered every rate limit into a single configuration file.
- Made pages cacheable, citation links real, and titles searchable.
- Served the consolidation in force rather than the newest one.
- Took query tokens from the index analyzer.
- Added a compact mobile navigation sheet.
- Addressed provisions by their identity instead of their parse path.
- Recovered legacy document fragments in both directions.
- Added a footnote preview that survives scrolling and pins on click.
- Rebuilt the document page out of design-system components.
- Offered the comment row to readers without an account.
- Dropped legislation versions the source no longer publishes.
- Let the selection menu scroll along with its passage.
- Asked portals what changed instead of walking them nightly.
- Read a PDF act's divisions, paragraphs, and lettered lists.
- Asked the portal which version is in force before inferring it.
- Kept the not-in-force warning in front of the reader.
- Dated a text by the day it stopped applying.
- Added a copy-link action on every provision reference.
- Tied an abbreviation to a language rather than to a law.
- Served MCP protocol 2026-07-28 on the official SDK.
- Let dialogs taller than the viewport scroll.
- Added a feedback widget with screenshot, rating, and an admin list.
- Attributed decisions to the court and chamber that decided them.
- Labeled search results with their court name and tier.
- Stored parent bodies and section outlines in the search index.
- Split MCP retrieval into an outline call and a text call.
- Keyed citation occurrences by offset and counted citing documents.
- Derived plain text from the stored HTML everywhere.
- Kept laws whose entry into force is still ahead.
- Upgraded Next.js to 16.3.
- Paginated Latest and ranked laws by entry into force.
- Added the Latest feed and ingested the dates it needs.
- Required OAuth on the MCP server and recorded per-user tool usage.
- Paginated MCP retrieval and returned a table of contents.
- Used official court names and a consistent court-tier rule.
- Fixed cantonal law parsing, versions, and deduplication.
- Hardened MCP tool responses, resources, and per-tool limits.
- Classified decisions by court tier and let search filter on it.
- Rebuilt the admin issue console on the design system.
- Split the website inventory into counting and enumeration.
- Cleared the recurring nightly coverage failures.
- Colocated the document-page components with their route.
- Added a human-readable HTML sitemap at /sitemap.
- Added a public read-only SQL tool to the MCP server.
- Added a source button next to the document pickers.
- Linked federal documents to the official reader page, not the raw XML.
- Removed the areas page and the browse-source breadcrumb.
- Split the global stylesheet into purpose-scoped files.
- Added the TextLink and PageHeader components.
- Shipped the redesigned site as the main interface.
- Removed the retired v1 interface entirely.
- Retired the journal, translation, overview, and document tool pages.
- Added document comments to the new design system.
- Dropped the stored AST and slimmed the document read models.
- Boosted exact article and abbreviation matches in filtered searches.
- Heartbeated pipeline runs and surfaced new documents in coverage.
- Stored glossary entries as a single content column.
- Added the ChatGPT app submission manifest.
- Indexed the Official Compilation publications.
- Exposed historical legislation versions in the sitemap.
- Fixed Fribourg ingestion identity reconciliation.
- Packaged the glossary seed in the deploy images.
- Modeled official publications as a kind of their own.
- Detected federal law citations inside footnotes.
- Restored the responsive search experience.
- Refined the footer links and the version display.
- Fixed reported legal document formatting issues.
- Sped up streamed document rendering and initial app loading.
- Simplified the document loading skeleton and content loading.
- Separated the application and corpus databases.
- Handled repealed and PDF-only legislation.
- Fixed federal article identity and repeal status.
- Consolidated the localized footer.
- Scheduled a weekly 365-day scraper refresh.
- Added a coverage API endpoint and sped the page up.
- Added article scope to legislation search.
- Consolidated pipeline storage and document processing.
- Improved source ingestion and parser quality.
- Unified canonical document routes and search.
- Refreshed corpus coverage and run observability.
- Hardened production scheduling and deployment.
- Displayed law abbreviations in article results.
- Preserved legacy federal document identities.
- Simplified the law version picker labels.
- Prepared the MCP server for publication as a plugin.
- Simplified the public API down to document endpoints.
- Added a browse page for every source.
- Added Swiss Fairness Commission decisions as a source.
- Grouped the Official Bulletin by debate topic.
- Fixed Official Bulletin citation resolution.
- Exposed preparatory and circular sections to search.
- Audited canonical identifiers across the whole corpus.
- Added historical legislation versions and completed their coverage.
- Hardened pipeline recovery, scheduling, and run summaries.
- Preserved quoted filter values and snippet line breaks.
- Kept the table of contents position through navigation.
- Extracted decision metadata with a language model and displayed it.
- Gave every platform a canonical AST, references, and source routes.
- Modeled citation counts per type and linked citation previews.
- Put canonical references and canton names in the search indices.
- Aligned the public API and its OpenAPI spec with the canonical model.
- Raised the OpenSearch heap and supervised the dev server.
- Added kind icons and freshness dates to the browse tree.
- Rebuilt the sitemap on keyset ranges with hreflang alternates.
- Cleaned historical OCR typography, segmentation, and section signs.
- Canonicalized historical decision identifiers and redirected legacy routes.
- Repaired Basel decision structure.
- Sharded large sources across multi-stage runs.
- Added issue editing and deletion.
- Removed document access limits.
- Added LegalCase structured data to decision pages.
- Rebuilt the coverage page with corpus statistics, charts, and a source matrix.
- Grouped numbers the Swiss way and set counts flush right.
- Added a browse page: an expandable tree by jurisdiction, kind, and source.
- Showed top-cited documents and freshness dates at every level of the tree.
- Added ranked citation backlinks to documents.
- Enforced descriptive decision titles across every scraper.
- Fell back to the docket wherever a title says nothing.
- Rendered circular glossaries as structured tables.
- Retired the old document listing pages.
- Skipped app builds for pipeline-only deploys.
- Extracted official publication, reporter, and cantonal docket citations.
- Excluded document titles from citation extraction.
- Made citation count synchronization resumable and faster.
- Detected the body language of every document in the corpus.
- Removed duplicate language renditions.
- Rebuilt the coverage page on the new pipeline store.
- Healed stale quarantine statuses and added the source dot matrix.
- Preserved document anchors through loading and navigation.
- Rebuilt historical Federal Supreme Court parsing and Fraktur OCR.
- Selected the OCR language per scanned page.
- Removed printed page markers from historical decisions.
- Retired the legacy pipeline in favor of the canonical one.
- Normalized the whole corpus to Swiss orthography.
- Aligned regests with the language of the decision.
- Returned proper service errors during database outages.
- Unified document page route handling.
- Improved the document loading skeleton.
- Highlighted semantic search results in every language.
- Ranked literal law titles above stem-only article matches.
- Handled full-title search queries.
- Regenerated clean Fedlex titles and slugs.
- Repaired Fraktur OCR in historical decisions.
- Preserved decision case names.
- Added a law page loading skeleton.
- Stopped indexing duplicate decision bodies.
- Configured Query Insights in production.
- Indexed canonical article anchors for federal legislation.
- Rebuilt the citation graph with pinpoint counts.
- Annotated citations directly in the rendered HTML.
- Made corpus-wide citation resolution batched and resumable.
- Expanded the federal circular and decision sources.
- Localized the federal source labels.
- Preferred the selected search language much more strongly.
- Moved deployments off GitHub Actions onto the server.
- Parallelized scrapes by source host.
- Ran the rebuilt pipeline daily.
- Added a self-hosted semantic index built with EmbeddingGemma.
- Backfilled embeddings across the production corpus.
- Ran the embedding model on ONNX Runtime.
- Made semantic search purely vector-based.
- Required exact law abbreviations, with bounded typo tolerance.
- Stopped indexing law titles as articles.
- Resolved search result anchors to document sections.
- Showed hybrid component scores in development mode.
- Canonicalized dockets and identities across the shared portals.
- Reconciled archives shared between several cantonal portals.
- Rejected empty scraped artifacts.
- Modeled Ticino court authorities and parallelized its scraping.
- Sharded Vaud searches at the exact result cap.
- Traversed every St Gallen publication page.
- Split the Bern Tribuna court feeds.
- Preserved acronym precision in search.
- Made document listings use indexed top-N reads and caching.
- Skipped provably current artifacts and saturated host OCR capacity.
- Hardened pipeline quality and search.
- Closed the remaining cantonal coverage gaps.
- Showed the display form of law titles on search cards.
- Shortened dockets for federal boards, Nidwalden courts, and Strasbourg joins.
- Stored the real Geneva decrees rather than their listing pages.
- Ran every pipeline stage in parallel by default.
- Recovered dropped body text across the 19 cantonal law collections.
- Preferred the title printed inside the law itself.
- Restored citation counts as a search ranking signal.
- Redirected slug-less document URLs to their canonical address.
- Fixed historical Federal Supreme Court considerations parsing.
- Repaired Federal Administrative Court letterheads and heading levels.
- Rendered preparatory and circular results in the search dialog.
- Served the site from the rebuilt pipeline.
- Published detail pages and sitemaps for preparatory materials and circulars.
- Made preparatory materials and circulars first-class in search.
- Restored Fedlex rendering to full structure, annexes included.
- Rendered legal enumerations as true ordered lists.
- Recovered amendment tables, visible footnotes, and structural paragraphs.
- Recovered text from PDFs with broken cross-reference tables.
- Removed the generic parser fallback: every parser owns its output.
- Let a document be read from either pipeline on demand.
- Restored the Geneva child-protection court source.
- Fixed Obwalden pagination so discovery survives the session.
- Closed the corpus parity report with no missing documents.
- Repaired titles corrupted at scrape time from the clean body.
- Added the preparatory and circular document kinds.
- Added the legislation version ledger.
- Added the Federal Gazette, Official Compilation, consultations, and parliamentary business.
- Added federal agency circulars from seven agencies.
- Added the Court of Arbitration for Sport.
- Added cantonal and federal government decisions.
- Scraped at the source instead of through mirrors.
- Kept index runs under the bulk request size limit.
- Added the pipeline parity harness and disposition map.
- Detected file types from content rather than declared metadata.
- Fixed HTML charset and control-character corruption.
- Quarantined PDFs with unusable text layers.
- Gave every platform its own parser.
- Added DOM-aware parsers for the cantonal legislation portals.
- Stripped PDF page furniture from decision text.
- Stopped phantom numbered headings from dates and amounts.
- Fixed Fedlex content loss across all federal legislation.
- Showed footnotes on hover of the marker, and never dropped them.
- Reparsed the corpus after three rounds of manual review.
- Upgraded OpenSearch to 3.7 with authentication.
- Added the new scrape stage and PDF extraction.
- Backed pipeline run state with the database.
- Generated the source catalog from the platform registry.
- Chunked whole decisions into rubrum, facts, considerations, and disposition.
- Added the enrichment stage with citation extraction.
- Introduced the legal AST as one parse product with three derivations.
- Ported every scraper platform to the new pipeline.
- Recovered 477 lost ECHR documents through the disposition map.
- Modeled short titles and abbreviations as distinct per-language names.
- Added the new read model behind an environment switch.
- Stored data issues in the database and added an issues page.
- Standardized on node-postgres for database access everywhere.
- Normalized official-report citations and slugs to carry the prefix.
- Unified lexical query building and the highlight analyzer window.
- Gave every scraped artifact a canonical identity.
- Removed the filename heuristics from ingest.
- Unified the pipeline write locks and concurrency helpers.
- Stored content offsets in postings for highlighting.
- Made offset reindexing resumable under indexing pressure.
- Started the pipeline rewrite: run skeleton, ports, and shadow database.
- Verified identity parity across 940,002 artifacts with zero differences.
- Fixed Open Graph image generation and localized-pathname routing.
- Added expression indexes for document route lookups.
- Made route identifier normalization accent-insensitive.
- Computed ingested coverage counts from the database.
- Skipped failing documents instead of aborting the whole source.
- Guarded BGer listing parsing against empty responses.
- Retired the Federal Council source.
- Improved legislation and decision parsing and chunk handling.
- Made deployments self-bootstrapping and robust.
- Built the deploy images in parallel.
- Added a restart policy to the pipeline cron service.
- Rendered the Fedlex semantic wrappers in document markup.
- Suppressed lone Fedlex paragraph numbers.
- Hardened the search analytics result inserts.
- Removed the manual document import path.
- Added Postgres sync tooling for the production server.
- Made database-backed sitemaps revalidate at runtime.
- Added GHCR image deployments and made deploys image-only.
- Improved the deployment logging, locking, and SSH timeouts.
- Made Postgres restores replace schemas and kept backups alive in CI.
- Skipped database migrations on code-only deploys.
- Labeled unknown languages in the MCP list tool.
- Replaced the legacy chunk storage in the database.
- Simplified document processing around chunks.
- Simplified ingest persistence in the pipeline.
- Cleaned up the platform scraping inputs.
- Kept embeddings only for pipeline document chunks.
- Indexed search from the document content chunks.
- Read the document content chunks in the app.
- Removed the legacy maintenance scripts.
- Ran the deployment pipeline with Bun.
- Localized the law route segments.
- Added PostHog analytics and a list-field-values tool to the MCP server.
- Refactored documents around semantic projections.
- Wired pipeline processing through the document projections.
- Refactored the document ingest pipeline.
- Moved the pipeline platforms out of the scrape stage.
- Updated the app and search for the document HTML boundary.
- Removed LexFind legislation scraping.
- Fixed the ingested coverage counts against the database.
- Restored the OpenSearch document count in the search stats.
- Added a global dev-mode toast.
- Refreshed the coverage snapshot and cleanup tooling.
- Made the pipeline cron idempotent.
- Removed the cron resume state changes.
- Fixed the Fedlex citation counts.
- Fixed the article law abbreviation highlights.
- Used a Snowball analyzer for search titles.
- Fixed article citation count indexing.
- Highlighted fielded short-title searches.
- Fixed changelog file resolution in production.
- Pre-generated the sitemap pages.
- Tuned the search section score multiplier.
- Used the Vaud BLV HTML for cantonal laws.
- Kept the Vaud paragraph lists grouped.
- Removed the duplicate identifier handling.
- Configured the Bun test path ignores.
- Improved article search relevance.
- Removed the article-specific fuzzy guard.
- Rebuilt the changelog with dated entries.
- Removed the pino and Redis infrastructure.
- Inlined the component styles.
- Exposed regests and consideration numbers to search.
- Hardened legal text parsing.
- Simplified the repository structure.
- Added rate limiting to the API.
- Improved Postgres backup safety.
- Made production database changes reversible.
- Simplified the search and processing modules.
- Added a service status toast.
- Added the document side rails.
- Added an MCP tool for reporting data issues.
- Added a pipeline data inspection stage.
- Made the search tool fields dynamic.
- Fixed the sitemap XML rendering.
- Restored native anchor scrolling in documents.
- Improved the OpenSearch sync throughput.
- Simplified the search queries and index mappings.
- Updated the public search result payloads and the UI field filters.
- Persisted chunk citations in Postgres.
- Migrated the citations and chunk headings.
- Improved commentary citation extraction across inline markup.
- Removed the TranslateGemma translation path.
- Rendered legal plain text as Markdown.
- Fixed the document Open Graph metadata.
- Hardened the production deployment: Postgres 18, Caddy, health checks, cron.
- Added a protected live dev server.
- Implemented the citation extraction pipeline.
- Rebuilt the OpenSearch sync pipeline.
- Replaced the legacy filters with the Lucene picker.
- Tuned the relevance boosts and fuzzy acronym matching.
- Showed the static type options immediately.
- Added Lucene search examples to the home page.
- Preserved the BGE metadata dates.
- Made the production database push non-interactive.
- Reworked the deployment configuration and build environment.
- Added a citation evaluation harness.
- Improved the citation evaluation.
- Moved the API handlers into route files.
- Removed the legacy chat surface.
- Added specifications for chat, agent, and citations.
- Simplified the search explain panel layout.
- Used plus separators for multi-match explain fields.
- Refactored the search modal components.
- Refined the search explain panel and the filter picker.
- Hid the applied filters in the search modal.
- Restored the search explain title.
- Tested the selected picker field highlighting.
- Canonicalized the federal court source codes.
- Guarded the client performance measure bounds.
- Fixed the search modal lint warnings.
- Improved Lucene query handling with searchable fields and better errors.
- Added query syntax highlighting.
- Added sortable result ordering.
- Refined the advanced query fields.
- Localized the filter facet labels.
- Served robots.txt dynamically.
- Aligned the court source coverage.
- Updated the sitemap page size.
- Rebuilt the search from scratch.
- Added a Lucene query compiler.
- Added field selection to search through
include.
- Refactored the search composer.
- Raised the search speed requirements.
- Improved the MCP integration.
- Made the pipeline sync production-safe.
- Made semantic search purely vector-based.
- Showed law content match snippets.
- Added translation as a query fallback.
- Added LLM-based translation.
- Refactored the search SDK.
- Fixed the Bun chunk path JSONB inserts.
- Fixed the trending law citation counts.
- Added the LegalAST specification.
- Grouped the paragraph lists in the cantonal legislation output.
- Fixed reported data parsing issues.
- Made the search results real links.
- Made the document pages dynamic.
- Fixed the document page locale resolution.
- Added Search Console analytics.
- Disabled OpenSearch profiling by default.
- Added sorting to the public list APIs.
- Canonicalized the legal area filter identifiers.
- Hid the language picker on single-language documents.
- Added the decision page highlighter.
- Moved the search counts and type facets to OpenSearch.
- Searched decision bodies in OpenSearch.
- Fixed document search and performance tracking.
- Fixed the federal law taxonomy links.
- Improved the SEO metadata and canonical links.
- Improved the Findinfo scraper.
- Added documentation.
- Added custom error pages.
- Honored the process date filters for local files.
- Hid the scrape totals on date-filtered runs.
- Removed the Vaud JurisWeb federal mirror sources.
- Reorganized the repository and refined the workspace boundaries.
- Added jurisdiction filters to search.
- Simplified the document route lookups.
- Added a reusable cited-by modal dialog.
- Fixed the expected court coverage counts.
- Added Swiss court entity scraper coverage.
- Added the missing decision source scrapers.
- Expanded the Swiss court decision source coverage.
- Supported wildcard source selection.
- Randomized the aggregate scrape source order.
- Added cited-by decisions on articles.
- Strengthened the document pipeline.
- Added the OpenSearch sync stage to the pipeline.
- Added document data issue reporting.
- Introduced the court entity decision sources.
- Added a Lucene query parser.
- Normalized the legislation ingest metadata.
- Fixed citation extraction on large documents.
- Used the official Fedlex source URLs.
- Updated the glossary seed data.
- Removed the legacy RAG and commentary files.
- Fixed the build tracing.
- Added a lint script and cleared the lint errors.
- Used jurisdiction as part of document identity.
- Moved the document subpages to the law and decision routes.
- Updated the document UI and the taxonomy labels.
- Updated the OpenSearch mapping and the search result shaping.
- Improved legal content parsing.
- Updated the scraper platforms and the pipeline runner.
- Added the BGer environment and utility scripts.
- Added the MCP page.
- Decoupled the app pages from the scraper runtime.
- Moved the pipeline data outside the app tree.
- Updated the dependencies and improved the pipeline.
- Added coverage reporting scripts.
- Added data shape tests.
- Improved the laws scraping.
- Removed the legacy Markdown processing.
- Fixed footnotes inside titles.
- Reduced scraper memory use by slowing discovery on large lists.
- Improved the pipeline CLI.
- Refactored the scrapers.
- Fixed footnotes and removed them from the indexed chunks.
- Fixed the search highlighting.
- Parsed annexes.
- Made large tables scrollable.
- Highlighted document numbers.
- Removed the caching layer.
- Scraped all the cantonal court decisions.
- Refactored the data pipeline.
- Added newly added, trending, and popular laws and decisions.
- Added the public REST API and its documentation.
- Moved the coverage and pipeline pages to their own URL.
- Added a navbar to the home page.
- Improved the data coverage checker.
- Fixed the search highlighting.
- Fixed a timezone bug in date formatting.
- Enhanced the reference previews and document handling.
- Split chunks into articles and considerations.
- Cleaned up the old scraping code.
- Updated the scrapers.
- Added an OpenSearch index prefix.
- Added OpenSearch profiling.
- Added citation counts to the index.
- Improved the BGE scraper.
- Improved the search.
- Simplified the home page.
- Added legal concepts, then replaced them with a glossary.
- Migrated the glossary categories to the taxonomy.
- Refactored the sitemap.
- Fixed the table parsing.
- Improved the page load performance.
- Fixed the faceted filter counts.
- Added boolean search syntax.
- Added exclude filters.
- Added faceted filters.
- Added document bookmarks.
- Added recency decay for decisions.
- Boosted results in the preferred language.
- Added the OpenSearch dashboard.
- Showed the legal area in the search results.
- Improved the article title and table parsing.
- Simplified the OpenSearch sync.
- Fixed the filter input interactions.
- Migrated the documents from Markdown to HTML.
- Added fallback titles for articles without one.
- Added semantic search.
- Refactored the search tests and their display.
- Improved the search bucket ordering.
- Moved the search to OpenSearch.
- Created a full Docker deployment.
- Improved the search highlights.
- Added an animated placeholder.
- Fixed a duplicate key error.
- Added consideration chunks to semantic search.
- Added a citing documents section.
- Improved the citation popover.
- Improved the citations.
- Improved consideration extraction and title generation.
- Fixed the cache redirect issue.
- Fixed the overview page.
- Added an overview page and improved its design.
- Fixed the language redirect.
- Fixed the canonical slug redirect.
- Fixed bad document ids in URLs.
- Added decisions to the search.
- Classified documents with legal areas and enabled editing them.
- Moved the legal areas into the breadcrumb.
- Added article citation previews and court decisions to reference previews.
- Extracted the considerations from decisions.
- Centralized the document content update function.
- Improved the classifier with concurrency.
- Tracked the document processing events.
- Fixed the legal area filter values.
- Fixed the italic parsing in the editor.
- Improved the URL management and slug generation.
- Redirected when the slug is missing.
- Added a document listing.
- Moved the decisions under /docs.
- Renamed the citations to references.
- Added document ingestion.
- Added document editing and improved its design.
- Backfilled the chunk paths.
- Refactored the search modal.
- Enhanced the search.
- Fixed the breadcrumb locale issue.
- Added OpenSearch.
- Added inline filters.
- Added expandable sections for recent searches and viewed documents.
- Saved the search queries to the database.
- Added PostHog analytics.
- Refined the analytics setup.
- Migrated the database to a better model.
- Added parsers that split BGE and Fedlex documents into structured JSON.
- Added an estimated reading time to decisions.
- Added translation.
- Improved citation linking and the translation of citations.
- Added infinite scroll and a language availability display.
- Added recently viewed documents to the search bar.
- Added URL state management for search.
- Added a disclaimer at the bottom of documents.
- Added a logger that writes to file.
- Added the decisions.
- Improved the data pipeline.
- Fixed the build.
- Migrated hybrid search to reciprocal rank fusion.
- Reduced the search space.
- Improved the anchors.
- Improved the result ordering and the ordering of exact matches.
- Added the court decision schema and imported the court decisions.
- Simplified the schema.
- Added semantic search and hybrid search.
- Updated the embedding scripts and moved back to OpenAI embeddings.
- Improved the chunk embeddings and normalized documents first.
- Improved the lexical search and its index.
- Improved the formatting of article titles.
- Added anchors to the article search results.
- Added the missing document numbers and titles.
- Improved the tests.
- Added a new home page.
- Rewrote the search code.
- Added a script that reads Parquet files.
- Fixed the taxonomy tree when a node is open.
- Added the changelog page and populated it.
- Added a journal for SEO.
- Made the search multilingual and optimized it.
- Displayed the chat history.
- Increased the free tier limits.
- Extended the document search history.
- Improved the auth button.
- Created the module boilerplate.
- Fixed the sitemap.
- Fixed the language picker on mobile.
- Fixed the language of the explain modal.
- Made the breadcrumbs clickable.
- Improved the date picker in the search bar.
- Rendered HTML in the search results.
- Highlighted the current taxonomy node.
- Improved the chat header.
- Improved the scroll behavior.
- Added Open Graph images with font support.
- Improved the SEO metadata and the summary generation.
- Renamed "draft with AI" to "explain" and added follow-up questions.
- Improved the search accuracy and added filters.
- Improved the results for articles without a title.
- Improved the chat auto-scroll.
- Fixed a crash when the locale did not exist.
- Improved the search bar autocomplete.
- Improved the XML-to-Markdown processing of tables and provisos.
- Refined the proxy pattern matcher.
- Added document comments with tags.
- Added the draft-with-AI feature.
- Improved the comment styling.
- Improved the page load time.
- Added utility scripts.
- Updated the proxy and its redirections.
- Made the sitemap generation scalable.
- Improved the BGE case extraction.
- Ingested the BGE cases.
- Added authentication and the paywall.
- Made the commentary links italic.
- Added the sitemap.
- Added the document table of contents and section headings.
- Added document highlighting.
- Added commentaries to articles and improved their display.
- Improved the taxonomy display.
- Minimized the language switcher.
- Improved the page load speed.
- Added translations.
- Fixed the revalidation bug and the layout.
- Added the taxonomy to the document pages.
- Switched to Bun.
- Made the pages load much faster.
- Updated the packages.
- Improved the search speed, twice over.
- Kept only taxonomy children with labels in the requested language.
- Improved the search.
- Saved the taxonomy tree state across page changes.
- Improved the taxonomy loading speed.
- Stopped loading the document body to save data.
- Improved the database connection handling.
- Added more languages.
- Added the translation interface.
- Refactored the header.
- Migrated from API routes to server actions.
- Improved the chunk search.
- Added Vercel Analytics.
- Added lazy loading and prefetching to the taxonomy tree.
- Removed the artificial slowdown.
- Added superscript and subscript support to Markdown.
- Added the AI agent.
- Enabled ISR on the document pages.
- Added ids and autolinks to the headings.
- Reranked the search results for relevance.
- Fixed the file loading in serverless.
- Refactored the search.
- Ingested and displayed the commentaries.
- Added the commentary download script.
- Improved the document search.
- Migrated Lexos and rebranded as Lexipedia.
- Added legal search and taxonomy browsing.
- Added the document pages.
- Added XML-to-Markdown processing.
- Created the initial Next.js app.