Fixes
- Use updated note when reordering meta.
- Define
vino-entry-meta-props-order
asvar
and not aconst
. - Fix average score calculation using
amean
strategy. - Use
vulpea-select-multiple-from
when selecting grapes to avoid repetition. - Move
volume
property from bottle to wine entry. - Mark and batch actions in UI.
This release focuses on several key areas. First, it introduces powerful extension hooks that allow for building custom and complex flows on top of Vino. Second, it implements a basic solution for cellar tracking. Third, it simplifies the internals by adopting the latest features provided by the Vulpea library.
Unfortunately, this release contains many breaking changes. If you need assistance, please start a discussion.
Future releases will focus on fixing bugs and improving the Inventory solution.
Breaking changes
- Completely get rid of
vino-db
. Why? TL;DRvulpea-db
is powerful enough to cover all the use cases I have ever faced. Over the last 2 years I have never usedvino-db
. - Get rid of meta slot in
vino-rating
. - Get rid of ‘generic’ inventory flow in favour of
vino-inv
plugin. - Use 5-based scale for ratings by default and introduce means to change that.
- Add country to vino entry. This also affects all functions related to region/appellation selection and creation. Refer to documentation for more information.
- Remove resources from vino entry. The functionality can be replicated (if needed) using
vino-entry-create-handle-functions
. - Get rid of
vino-entry
struct. Sincevulpea-note
became powerful enough there is little value invino-entry
. - Merge
vino-entry-update
andvino-entry-update-title
. These days Vulpea provides enough cached information to make the later fast enough to be merged with regularvino-entry-update
. - Sort metadata when updating note or setting origin.
Features
- Introduce rating precision, controlled by
vino-rating-precision
. See its documentation for more information. - Introduce
vino-entry-create-handle-functions
as an extension point for vino entry. - Introduce
vino-entry-update-handle-functions
as an extension point for vino entry. - Introduce
vino-rating-create-handle-functions
as an extension point for vino rating. - New function -
vino-entry-insert
. - Inventory management. See relevant section in readme.
- Default templates now include proper tags.
- Use sane default for
vino-rating-props
. - Ask for carbonation method for sparkling wines.
- Include extra information for traditional sparkling wines.
- Round rating when updating it.
Features
- vino#55 Provide
vino-sources-fn
variable to allow completion of sources when acquiring a wine. - vino#64 Allow to provide extra meta when rating a wine.
- Allow to provide extra tags in all templates.
Primarily migration to org-roam
v2 that has many improvements and breaking
changes. See The Org-roam v2 Great Migration for more information on automatic
migration. There will be a separate script to migrate all vino
entries.
Features
- Faster database updates via
vino-db-update-file
, which is called automatically on buffer save. Also, sinceorg-roam
has changed the way database is built,vino
doesn’t advice/hook intoorg-roam
database build process, but instead provides a separate pipeline similar to one inorg-roam
. See relevant section of README for more information.
Breaking changes
- Since
org-roam
doesn’t provide tagging functionality anymore, there is no built-in way to use directories as tags, so each file must contain a#+filetags
value. Newly created notes will get this automatically, old notes must be migrated. - Template system has adapted to latest
vulpea-create
andorg-roam
. Most importantly, instead of being a full blown template accepted byvulpea-create
it is now a property list simply allowing only values that make sense::file-name
(mandatory) - file name relative toorg-roam-directory
;:head
(optional) - extra header of the created note;:body
(optional) - body of the created note;:context
(optional) - extra variables for:file-name
,:head
,:body
templates.:properties
(optional) - extra properties to put intoPROPERTIES
block;:context
(optional) - extra variables for:file-name
,:head
,:body
templates.
Focus of this release is fulfilling milestone#2 goal - dedicated database for
vino
needs.
Feature
- vino#96 Allow to create grape synonyms during
vino-entry-read
. vino-db
functionality with two tables -cellar
andratings
.- vino#97
vino-entry-note-get-dwim
also gets wine from the rating note. - vino#94 Provide two databases:
cellar
andratings
and all the machinery for its maintenance. See dedicated section for Database in README.
Breaking changes
vino-grape-template
does not includevino-resources-template
anymore.
Primarily a stabilization and bug-fix release.
Fixes
- vino#84 Fix invalid vintage in rating title both in
vino-rating--create
andvino-entry-update-title
. - vino#89 Add missing
autoload
comments. - vino#92 Do not allow to select vino entry that does not exist in
vino-entry-note-select
. - Fix
vino-region-find-file
function.
Features
- vino#85 Allow to create producer note when selecting non-existent producer.
Affects
vino-producer-select
,vino-producer-find-file
andvino-entry-create
. - vino#86 Align behaviour of
vino-grape-select
withvino-producer-select
, so the user is prompted to create a note when selecting a non-existent grape note. - vino#87 Allow to create region or appellation note when selecting non-existent
region or appellation. Affects
vino-region-select
,vino-region-find-file
andvino-entry-create
. - vino#88 Switch to
vulpea-utils-with-note
. - vino#88 Use notes instead of ids in vino-netry
- vino#91 Ask to acquire wine upon creation.
- Propose maximum 1 bottle of wine during consumption as default value.
Breaking changes
- Remove TIME-STAMP from templates. If user wants to use it, it’s better to
configure template, as timestamps require additional configurations and are
not covered by
vino
.
Initial release of vino
application. The main goal of this release is to
achieve feature parity with +org-wine.el. See README for more information.
Features
- Functionality to create and find producers:
vino-producer-create
- create a newproducer
note according tovino-producer-template
.vino-producer-find-file
- select and visitproducer
note.
- Functionality to create and find grapes:
vino-grape-create
- create a newgrape
note according tovino-grape-template
.vino-grape-find-file
- select and visitgrape
note.
- Functionality to create and find regions and appellations:
vino-region-create
- create a newregion
note according tovino-region-template
.vino-appellation-create
- create a newappellation
note according tovino-appellation-template
.vino-region-find-file
- select and visitregion
orappellation
note.
- Functionality to create and maintain cellar entries:
vino-entry-create
- create a newvino-entry
according tovino-entry-template
. It interactively reads carbonation type, colour type, sweetness level, producer, name, vintage, appellation or region, grapes, alcohol level, sugar, resources and price. Producer, appellation, region and grapes are linked usingorg-roam
.vino-entry-find-file
- select and visitvino-entry
.vino-entry-update
- update visiting (or selected)vino-entry
. It refreshesrating
andavailability
(usingvino-availability-fn
). You rarely need to use this function, unless availability or rating is modified manually.vino-entry-update-title
- update visiting (or selected)vino-entry
title. It also changes the title of all linkedratings
. You only need this function if you modify a producer name, wine entry name or vintage manually and want to update everything. Might take a while, depending on amount of linkedratings
.vino-entry-set-grapes
- set grapes of visiting (or selected)vino-entry
by replacing existing.vino-entry-set-region
- set region (or appellation) of visiting (or selected)vino-entry
by replacing existing.vino-entry-acquire
- acquire visiting (or selected)vino-entry
. Reads a source, amount, price and date, and callsvino-availability-add-fn
.vino-entry-consume
- consume visiting (or selected)vino-entry
. Reads a action, amount and date, and callsvino-availability-sub-fn
. For convenience also asks you to rate entry if the action isconsume
.vino-entry-rate
- rate a visiting (or selected)vino-entry
. Reads a date, props defined byvino-rating-props
, creates a new rating note according tovino-rating-template
and creates a link between wine and rating.