- new: Make subscription notifications configurable
- new: Log loaded configuration at startup
- new: Set
RUST_LOG
toinfo,tantivy=warn
if nothing was specified - chore: Update dependencies
- chore: Upgrade tantivy to v0.22.0-dev
- chore: Update dependencies
- chore: Update dependencies
- chore: Update dependencies
- chore: Slightly refactor the frontend code
- fix: Check invalid timestamp values
- chore: Update dependencies
- chore: Slightly refactor the frontend code
- fix: Loading config
- refactor: Migrate clearance app to leptos
- chore: Update dependencies
- new: Add a new basic frontend based on leptos
- fix: Webfonts in clearance app
- chore: Update dependencies
- new: Config option for reminder BCC addresses
- fix: Recurring reminders for oldest places first
- fix: Review URLs in reminder emails
- fix: openapi.yaml
- new: Add endpoint to review a place by a secret token
- new: Add review tokens to reminder emails
- new: Make recipient roles configurable for sending reminders.
- fix: Make sending emails via mailgun.org work again.
- new(api): Add
/export/events.ical
endpoint for scouts and admins to export events as iCal. - new: Send recurring reminders to scouts and owners.
- new: Use
openfairdb.toml
configuration file. - chore: Update dependencies
- chore: Update dependencies
- fix(db): Fix foreign key constraint.
- fix(api): Show correct version again.
- chore(db): Update diesel: 1.4 -> 2.0
- chore(db): Bundle SQLite dependency by default.
- chore(db): Explicitly initialize SQLite with the desired settings.
- chore(db): Replace literal SQL with Diesel DSL.
- chore: Remove
native-tls
dependency
- chore: Compile on stable Rust with rocket v0.5.0-rc.2
- chore: Internal refactoring
- new(api): Filtering events by
end_min
/end_max
- new(api): Remove min/max restrictions on event start/end date
- fix(api): Only require title, description, lat, lng for /search/duplicates
- fix(web): Clearance center: fix public URL in generated
index.html
- fix(api): Implement JSON errors for most cases
- chore(web): Clearance center: Use trunk to build the app
- chore(ci): Some GithubCI improvements
- chore(*): Update dependencies
- new(api): Increase max. result limit from 500 to 2000 for places and events
- fix(api): Fix updates of most popular tags cache
- new(api): Make capthca protection optional
- chore(*): update dependencies
- new(web): Clearance center: Allow to accept multiple entries at once
- new(api): Add capthca service
- new(api): Add JWT authorization for API
- new(api): Cache most popular tags to accelerate response time
- new(api): Make accepted licenses configurable
- new(*): Allow to use custom MailGun API URL
- chore(web): update rocket: v0.4.5 -> v0.4.7
- new(web): Set property
SameSite
toLax
in frontend login cookie - fix(api): Prevent unauthorized editing of events
- new(web): Add clearance center
- new(api/db): Add new fields
contact_name
andfounded_on
to entries/places - new(api): Filter entries by
org_tag
and return only revisions that have been cleared by the responsible organization (/entries
)
- new(api/db): Moderated tags: Fine-grained permissions for organizations
- new(api/db): Clearance: Allow organizations to manually clear new place/entry revisions after editing
- new(api/db): Clearance: Optionally replace or exclude revisions with pending clearance from search results, i.e. return an older, already cleared revision if
- new(api/db): Add support for custom links in place entries
- new(api): Allow organizations to read the history of places
- new(api): Add route to search for duplicate entries/places by example (
/search/duplicates
) - new(db): Optimize performance to identify duplicates of existing entries/places (
/duplicates/<ids>
)
- fix(api): Authorize with bearer token when creating or updating places/entries
- new(web): Support sending emails via mailgun
- new(web): Add CORS support
- fix(doc): Fix API docs for PUT /entries
- fix(doc): Add missing API docs for subscriptions
- fix(db): Fix parsing of text queries to enable searching for sub-terms
- chore(web): update rocket: v0.4.4 -> v0.4.5
- chore(*): use
rustls
instead of OpenSSL
- chore: Update dependencies and Rust toolchain
- chore(doc): Fix OpenAPI spec
- fix(web): Do not resolve event address if valid geo coords are provided
- fix(db): Allow to create/update events with a token but no associated tags
- fix(db): Field
state
was not stored for events
- new(db): Add fields
state
andopening_hours
to place entities - new(db): Add field
state
to event entities
- fix(db): Fix pagination offset for GET entries/most-popular-tags
- fix(db): Switch back to simple tokenizer for indexing text fields
- new(db): Use 3-gram prefix tokenizer for searching in text fields
- new(web): Allow custom search queries for exporting entries/places
- new(web): Export details of entries/places if authorized by user role (contact details) and/or token (created_by)
- fix(web): Fix parsing of event search parameters (including limit)
- fix(db): Implicitly convert all tags to lowercase
- fix(web): Allow creation/update of events without owned tags
- fix(web): Enable export of all event details for admins
- new(db): Send subscription e-mails after creating/updating events
- fix(web): Fix privacy-relevant loophole on event export
- fix(web): Enable export of event details for scouts and organizations as owners
- fix(test): Fix broken OpenAPI download test
- new(web):
POST /events/\<ids>/archive
for scouts and admins to archive multiple events - new(web):
GET /export/events.csv?<query-params>
for scouts and admins to export events as CSV - chore(web): Change OpenAPI download endpoint from /server/api.yaml to /server/openapi.yaml
- new(frontend): Add button to archive events (visible for Admins and Scouts)
- new(frontend): Add "places" and "events" to menu
- fix(web): Fix broken /entries/recently-changed with query parameter
since
in seconds
- fix(web): Fix broken GET /entries/most-popular-tags
- fix(web): Count places with multiple revisions only once on dashboard
- fix(web): Preserve ratings and comments when archiving places to allow restoring later
- new(web): Filter search results of places by their current review status
- chore(db): Updated search engine (Tantivy v0.11)
- new(web): Query the current user with GET /users/current
- new(web): Query the history of all place revisions with
GET /places/<id>/history
- new(web): Review multiple places with
POST /places/<ids>/review
- new(web/db): Events are now indexed and searchable
- refactor(web): Extract JSON objects into a separate crate (
ofdb-boundary
) - new(db): Query revision/version history of places
- new(db): Renamed and transformed "entries" into "places"
- new(db): Added status log for place revisions
- fix(db): Removed categories from database
- fix(db): Fixed invalid event dates and validate all new dates
- fix(web): Re-enabled CSV export for Scout role
- fix(web): Re-enabled CSV export for Admin role
- chore(cli): Removed OSM import
- fix(db): Replace redundant user id and name with email address
- new home: kartevonmorgen/openfairdb
- fix(db): Fix merging of tags and categories for recently changed entries
- fix(db): Increased maximum number of search results via
limit
request parameter from 250 to 500. The default number of results if no limit is requested is still 100. - new(db): Add
image_url
andimage_link_url
to CSV export - chore(db): Disabled CSV export temporarily
- fix(web): Re-enable email feature in Docker builds
- new(web): Multi-tenancy support for events
- new(web): Add image and image link URLs to events
- new(web): GET /entries/recently-changed: Parameter
since
is optional - new(web): GET /entries/most-popular-tags: Add
min_count
/max_count
parameters
- fix(db): Fix sorting of recently changed entries
- fix(db): Aggregate popular tags only from current entries
- new(web): Add new request GET /entries/most-popular-tags
- new(web): Filter recently changed entries by both
since
anduntil
- fix(db): Fix result limitation (again)
- fix(db): Fix maximum number of recently changed entries that are returned
- new(web): New endpoint /entries/recently-changed for retrieving recent changes
- chore(db): Optimize filtering of events by
start_min
/start_max
- fix(db): Adjust scoring of search results
- new(deploy): Multi-stage Docker build
- fix(db): Improved scoring of search results
- fix(db): Increased maximum number of search results from 100 to 250
- fix(frontend): show archive buttons to scouts
- new(web): Reset passwords by e-mail
- new(web): Extended admin frontend
- new(web): Added admin interface for archiving comments and ratings
- new(web): Added admin interface for assigning user roles
- chore(web): Update rocket: v0.4.0 -> v0.4.1
- new(web): Make events queryable in the frontend
- fix(db): Fix incomplete visible search results
- fix(db): Retarget entry search and optimize tag lookup
- new(web): Add a basic admin frontend
- new(web): Include address fields for searching entries
- new(web): Archive events/entries/ratings/comments (admin only)
- fix(db): Send registration e-mail
- fix(db): Apply bounding box filter when searching
- chore(db): Type safe handling of passwords and timestamps
- Final and official v0.4.x release due to technical reasons
- No functional changes since v0.4.4
- new(web): Return additional properties of entries in search results
- new(web): Limit max. number of search results
- new(web): Bundle a basic frontend with a minimum of JavaScript
- chore(db): Add Tantivy full-text search engine to improve performance
- fix: Never resolve the location of an event with an empty event address
- fix: Resolve event location from address via geocoding/Opencage
- fix: implicitly check and set lat/lng when creating or updating events
- fix: patch geocoding crate to fix OpenSSL system dependency issues
- fix: Makefile for Docker build
- fix: OpenSSL v1.1.1 build issues
- fix: truncate username if created from email
- fix: formatting for geocoding requests
- chore: update diesel: 1.3.3 -> 1.4.0
- chore: update dependencies & rustc
- doc: describe how to render the API docs
- new: add
organizer
field to events - new: forbid creating entries with owned tags
- new: check for lat/lng on a PUT request
- new: check event tags before creation
- fix: update event-tag relations
- chore: update dependencies
- new: Event API
- new: OpenAPI documentation
- new: add PlantUM: class diagram
- new home: slowtec/openfairdb
- chore: update
rocket
tov0.4.0
- fix: login
- new(web): auto-complete URL fields
- fix(email): consistent corporate naming "Karte von morgen"
- fix(email): write RFC 2047 Subject header
- chore(db): add indexes for foreign key relations
- chore(*): update various dependencies
- new(db): add image URL fields to entries
- chore(web): update
rocket
tov0.3.16
- chore(db): update
diesel
tov1.3.x
- chore(*): update dependencies
- chore(web): update
rocket
tov0.3.11
- chore(*): update dependencies
- new(csv-export): export average rating of an entry
- chore(web): update
rocket
tov0.3.10
- chore(*): update dependencies
- new(csv-export): export category names instead of IDs
- chore(web): update
rocket
tov0.3.9
- new(csv-export): implement csv-export of entries for a given bbox
- new(tags): ignore
#
char in tags - new(cli): log info message when calculating average ratings is finished
- refactor(*): reorganize files
- chore(*): update
rocket
tov0.3.8
- chore(*): update dependencies to compile on latest nightly
- fix(web): login with username instead of user id
- fix(web): create new account
- fix(web): ignore tag duplicates
- fix(web): subscribe to bbox
- fix(web): email-confirmation
- fix(web): transform tags to lowercase
- refactor(test): use sqlite instead of mock db
- fix(db): add tag relations
- fix(test): make coveralls on travis work
- new(db): remove neo4j support (SQLite is now required)
- new(db): add functionality to import OSM nodes
- new(*): Improve sorting & search algorithms
- refactor(db): freeze initial DB-Schema
- refactor(*): remove tripples (make relations explicit)
- refactor(*): tidy up & format code & rename some functions
- chore(email): make email functionality optional
- chore(web): update
rocket
tov0.3.6
- chore(web): update
diesel
tov1.1.1
- fix(*): use logging level from environment
- fix(sort): don't overflow on calculating the average rating
- fix(*): use logging level from the environment
- new(search): improve performance
- revert(db): use neo4j by default
- chore(*): update
rocket
tov0.3.5
- new(api): always respond with 'application/json'
- fix(emails): fix encoding of emails
- new(emails): change links in emails from prototype to main app
- new(register): change character limit of username to 30
- new(search): use AND for tags in search
- new(accounts): add the possibility to register and login
- new(subscribe): add the possibility to subscribe to a bbox when logged in
- include search results where tags match search words (also when they are not preceded by "#")
- give the possibility to add sources when rating an entry
- add basic mail notification (to emails in a config file)
- new(ranking): calculate average rating of an entry in each rating context separately
- new(ranking): calculate average rating of an entry by taking average of all rating contexts
- new(ranking): rank search results by average rating
- fix: revert
references
path - fix: defer proper logging with rocket
- new: add
references
to rating struct - new:
/login
- new:
/logout
- chore: use git master branch of
rocket
- new basic rating support
- new:
GET /tags
- new:
user
entity + account creation - new: disallow fetching all entries at once
- new: search by hash tags
- new:
/count/tags
- new:
categories
is now optional in/search?
- fix:
/count/entries
- refactor: use
State
to manage DB connections - chore: update
rocket
tov0.2.3
- new: filter by tags
- new: basic tagging
- refactor: use a verbose DB trait
- several fixes to make the API compatible to
v0.0.16
again - chore: update
rocket
tov0.2.x
- chore: use
r2d2-cypher
form crates.io
- refactor: clean architecture
- refactor: use rocket
- remove: CORS support
Please run git log --pretty=oneline --abrev-commit v0.0.16
;-)