See the releases for Scribe-Server for an up to date list of versions and their release dates.
Scribe tries to follow semantic versioning, a MAJOR.MINOR.PATCH version where increments are made of the:
- MAJOR version when we make incompatible API changes
- MINOR version when we add functionality in a backwards compatible manner
- PATCH version when we make backwards compatible bug fixes
Emojis for the following are chosen based on gitmoji.
- Scribe-Server is now deployed to Wikimedia Toolforge with an automated data update and deployment workflow (#40).
- The service can be found at scribe-server.toolforge.org
- A repository check was added to the update workflow to warn if it's run from an incorrect repo (#55).
- Matrix notifications were added so the team is alerted on data update workflow runs (#54).
- A Toolforge deployment guide was added for maintainers (#63).
- The Toolforge build was fixed to compile PyICU with the correct Toolforge ICU paths (#64, #60).
- Scribe-Server's REST API was rebuilt on the Gin framework with CORS support, replacing the original
net/httpimplementation (#29).- Versioned language data API endpoints were added as part of this migration.
- An
update_data.shscript was added to run Scribe-Data within Scribe-Server, along with language validation enhancements (#35). - Resulting data can now be filtered based on data contracts (#42).
- Data contracts were switched from JSON to YAML for easier maintenance (#56).
- Statistics for available languages are now shown via the API (#45).
- An entry/landing page was set up for Scribe-Server (#49), followed by a dedicated deployment and download page (#52).
- A translation data retrieval endpoint with validation logic was implemented (#61).
- OpenAPI/Swagger documentation generation was added for the API, viewable at scribe-server.toolforge.org/swagger/index.html and scribe-server.toolforge.org/docs/index.html (#39).
- Large Go files were split up and marked for maintainability (#47).
- Data extraction and update script issues were fixed following the contract-based filtering rollout, including validation logic and deprecated test failures.
- The
update_data.shdownload command was fixed to specify the correct dump snapshot location (#65). - Trusted proxies are now explicitly configured for security.
- German data contract fixes for missing
displayValuefields on declensions, and fully indexed conjugations/declensions.
- Documentation was expanded and reorganized throughout the README and CONTRIBUTING guide, including environment setup, deployment testing, and mentorship/growth sections.
- Available data and download instructions were linked from the README.
- The migration/database package structure was refactored to improve the database migration process.
handlers.gowas restructured into separate concerns, anddatabase.gowas split into smaller files.- The SQLite driver was switched from
mattn/go-sqlite3toglebarez/sqlite. - CI linting was consolidated into the existing workflow (#14), revive linting was integrated for local development (#34), and a pre-commit
gofmthook was added (#26). - Unneeded
sqlcand OpenAPI generation libraries were removed in favor of a simplified stack.
- Basic health and CORS test scaffolding was added for the API (#29).
- The CI workflow was updated to select the Go version via
go-version-file(#15) and later improved further (#31).
- SPDX license identifiers were added across the project, with the license header check switched over to
spdx-checkerin CI.