Repository navigation
Releases: ata381/BibMedEd
Release list
BibMedEd v0.4.0 — redesign, read-only demo mode, pip install
BibMedEd 0.4.0 is the first release published to PyPI: pip install bibmeded installs a lightweight CLI (#84), and the Python import package was renamed app -> bibmeded (#97, breaking). The frontend has a new journal-editorial redesign (#75), and a BIBMEDED_READ_ONLY mode (#81) plus a one-command local demo (#86) make it safe to explore a seeded sample without changing it. New CLI commands --version and sources come from first-time contributors @Sandro850 and @DYNOSuprovo. Also included are a fix for fresh installs on SQLAlchemy 2.1 (#76), a real-data README walkthrough GIF (#96), and the LICENSE holder correction (#77). A hosted public demo is deliberately deferred.
Added
- Added a
BIBMEDED_READ_ONLYmode that rejects every mutating request with403and shows a read-only banner in the UI, for safely exposing a demo (#81). - PyPI packaging metadata, a
serveroptional-dependency extra (FastAPI, Celery, Redis, Postgres driver, Alembic), and a Trusted Publishing release workflow.pip install bibmedednow installs a lightweight CLI;bibmeded search --dry-run,sourcesand--versionwork without server dependencies. - Added
bibmeded --version(#72, thanks @Sandro850). - Added the
bibmeded sourcescommand to list adapters and their configuration status (#71, thanks @DYNOSuprovo). - Added a one-command local read-only demo (
bibmeded/docker-compose.demo.yml, SQLite, no Postgres/Redis/worker) and a free-plan Render Blueprint for a public demo (deploy/render-demo.yaml), see #86. The hosted public demo itself is not yet deployed.
Changed
- Redesigned the frontend with a journal-editorial look and WCAG 2.2 fixes (#75).
- Aligned public documentation with the shipped feature set before launch (#73), refreshed the UI screenshots (#80), and added real-data tour screenshots and a README walkthrough GIF (#96).
- Linked the Hacktoberfest 2026 issues from the good-first-issues guide (#70) and documented the agent merge policy in
CLAUDE.md(#83). - Corrected the copyright holder name in
LICENSE(#77). - Dependency updates: frontend minor and patch bumps (#59, #79); Dependabot now ignores TypeScript and
@types/nodemajor versions (#74). - Breaking: Python import package renamed
app->bibmeded(bibmeded/app/is nowbibmeded/bibmeded/) so the wheel no longer installs a generic top-levelapppackage. Run the server withuvicorn bibmeded.main:appand the worker withcelery -A bibmeded.workers.celery_app; Celery task names are nowbibmeded.workers.tasks.*, so drain queued tasks before upgrading. bibmeded --versionreportsunknowninstead of failing when the package is not installed. Thebibmeded sources --jsonfieldapi_keyis renamedapi_key_requirement(it holdsrequired/optional/no, never a key), and the missing-setting status now comes from a sharedrequired_setting_env_varhelper instead of parsing the error message.
Fixed
- Fixed the frontend Docker image ignoring
NEXT_PUBLIC_API_URL: Next.js inlines it at build time, but the Dockerfile never declared it, so deployed frontends calledhttp://localhost:8000from the browser. The Dockerfile now takes it as a build argument (defaulthttp://localhost:8000). - Added
.gitattributesforcing LF for*.sh, soscripts/entrypoint.shno longer fails with "no such file or directory" in containers built from a Windows checkout with CRLF conversion. - Fixed fresh installs failing with
ModuleNotFoundError: No module named 'psycopg'on SQLAlchemy 2.1, which changed the barepostgresql://default driver to psycopg v3.BIBMEDED_DATABASE_URLvalues ofpostgres://orpostgresql://are now normalised topostgresql+psycopg2://; explicit drivers and non-Postgres URLs are left untouched. The Docker Compose and CI URLs now name the driver explicitly.
Community
- Thank you to @Sandro850 for
bibmeded --version(#72) and @DYNOSuprovo forbibmeded sources(#71), both first contributions.
BibMedEd v0.3.0 — sample workflow and contributor improvements
Added
- Added a deterministic, network-free synthetic sample workflow (
POST /api/projects/sample) with 12 records, meaningful author/country/keyword/citation networks, screening state, and a reproducible methodology trace. Repeated requests reopen the same sample instead of creating unbounded copies. - Added the
bibmeded search --dry-runCLI for estimating an upstream result count without fetching or persisting records (#17). - Added full
bibmeded searchexecution through the existing database and Celery pipeline, including year and result-limit options (#52). - Added Lens.org Scholarly as the fifth built-in source, with token-based configuration, pagination, record mapping, fixture-based tests, and empty-result handling (#14).
Changed
- Improved first-run usability with a homepage shortcut that creates the sample project and opens its analysis dashboard immediately.
- Updated the homepage, documentation, and adapter registry to reflect all five built-in sources.
- Clarified how newcomers claim work, how adapter auto-discovery works, and what a complete adapter contribution includes.
Fixed
- Replaced CLI tracebacks for unknown sources and network failures with actionable stderr messages and non-zero exit codes (#50).
- Prevented full CLI searches from polling forever when adapter construction fails.
- Handled empty Lens.org result pages without raising an indexing error.
Security
- Updated Next.js and its matching lint configuration from 16.2.9 to 16.3.1, then refreshed transitive dependencies so
npm auditreports zero known vulnerabilities.
Community
- Thank you to @BaygeldiAza for the dry-run and full CLI search contributions (#46, #52).
- Thank you to @landon-personal for improving CLI source and network error handling (#50).
BibMedEd v0.1.2 — Zenodo archive trigger
First release published after enabling Zenodo↔GitHub on this repo. Zenodo archives this tag, mints a software DOI, and assigns a concept-DOI that resolves to the latest version going forward.
No code or paper changes vs v0.1.1. Once the DOI is live, README and CITATION.cff will be updated to include the Zenodo badge and `doi:` field.
If you cite BibMedEd before the Zenodo record is live (≈2–3 minutes after this release publishes), use the v0.1.1 citation; replace with the Zenodo DOI as soon as it appears at https://zenodo.org/search?q=BibMedEd.
BibMedEd v0.1.1 — citation metadata fix
Patch release: wires the real ORCID (`0009-0005-4533-4594`) into `CITATION.cff`, `paper.md`, and `.zenodo.json` so the JOSS submission and the future Zenodo DOI all resolve to the same author identity.
No code changes. v0.1.0 release notes still apply — see https://github.com/ata381/BibMedEd/releases/tag/v0.1.0 for the full feature list.
If you are about to enable Zenodo↔GitHub on this repo, do it now: the next archival will pick up this tag with the correct ORCID embedded.
BibMedEd v0.1.0 — initial public release
First tagged release of BibMedEd, an open-source bibliometric analysis platform for medical-education research.
What ships in 0.1.0
- Multi-database search — PubMed (NCBI E-utilities) and OpenAlex adapters, with cross-source deduplication on DOI / PMID.
- Six analysis modules — publications over time, author productivity, country distribution, keyword co-occurrence, citation impact, journal ranking.
- Interactive visualisations — D3.js co-authorship and keyword networks, force-directed and zoomable.
- Reproducible methodology log — every pipeline step is recorded and exportable as a citable plain-text file for PRISMA Methods sections.
- Standard exports —
.RIS(Zotero / EndNote),.CSV, and the methodology log. - One-command self-host —
docker compose upbrings up FastAPI, Celery workers, Postgres, Redis, and the Next.js frontend. - One-click cloud deploy — Render.com Blueprint for the free tier.
Extensibility
A new bibliographic source is one Python file (~50 lines). See the adapter guide. Nine adapter starter issues are open and ready to claim (#6–#14).
Project infrastructure
- CI on every PR (Python 3.12 + 3.13 backend, Next.js frontend build, Docker smoke, MkDocs
--strict). - Issue and PR templates, Code of Conduct, security policy, public roadmap.
CITATION.cffand.zenodo.jsonso this release can be archived with a DOI (enable Zenodo↔GitHub on the repo to mint one).- JOSS paper draft at
paper.md/paper.bib.
Contributing
The fastest path to a merged PR is writing a new source adapter — see GOOD_FIRST_ISSUES.md. Twelve starter issues are labelled good first issue.
Citing
If you use BibMedEd in research:
```bibtex
@software{bibmeded_v0_1_0,
title = {BibMedEd: Bibliometric Analysis Platform for Medical Education},
author = {Akillioglu, Ata},
year = {2026},
version = {0.1.0},
url = {https://github.com/ata381/BibMedEd}
}
```
A Zenodo DOI will replace the GitHub URL above as soon as Zenodo↔GitHub is enabled on the repo.