Repository navigation
Releases
v0.5.0
Minor Changes
-
#177
5e8e96bThanks @akmalakhpah! - The agents have faces. The OKR Coach is blue, the OKR Champion is green, and the copilot and any custom agent wear a face in the text colour that follows light and dark. A face shows a mood that fits what the agent is saying: a sad Champion on an overdue check-in, a thinking Coach on a quality question, a happy one when every check passes. Faces appear on Agents and runs, the copilot, the inbox, the goal page, the Draft Coach, the alignment panel and the method pages. An idle face blinks and glances on a slow loop; the other moods play on hover and when the mood changes, and loop only while an agent is working. Every face holds still for anyone who asks for reduced motion. -
#165
5438611Thanks @agungksidik! - The agent setup pill on Home shows the marks of the agents it covers and adds steps for Codex and Cursor. Its close button appears on hover. -
#165
6172032Thanks @agungksidik! - The agent setup button copies one line. The agent fetches the steps from the instance's new public/agent-setup/prompt.md, which covers Claude Code, Codex, Cursor, GitHub Copilot, OpenCode, Windsurf, Hermes Agent and ChatGPT and holds no token. -
#178
02e97c4Thanks @agungksidik! - Activity counts unread on the server, so its number no longer stops at the 50 rows a page holds, and the Updates badge says what it adds up ("3 to do, 19 unread"). A check-in group in Activity is named after its objective. A Board card can be deleted, after a confirmation. The first-visit tour outlines its stop with a dashed line that does not read as keyboard focus, scrolls the stop into view, and shows no Back on the first stop. -
#178
0c03fdfThanks @agungksidik! - The person accountable for a goal is called the Owner by default, where it was the Champion. "Champion" is now the suggested alternative on the terminology card, and a workspace that renamed the term keeps its own word. The OKR Champion agent keeps its name. METHOD.md §0 and §2.5 say Owner, and the quality checks, gates, rule pages and goal exports follow. Goal list exports head the column "Owner". -
#178
ff7b2d5Thanks @agungksidik! - The setup wizard reads plainly: "Step 1 of 5" with a progress bar, the local time for the chosen zone, a Back button from step 2, "Weekly (recommended)", 44px rhythm buttons, templates as a radio group, and "Add sample data" or "Skip and finish" at the end. The Work Map's three figures explain themselves on hover, and its confidence chip reads "High, 8 in 10" with the bands on hover. Goals and search say objectives where they said goals. -
#168
3dbba8cThanks @akmalakhpah! - Every setting, profile and comparison row on Admin, Practice has a small "i" that says what it decides, in a sentence or two, with a link to its exact section of the method for the full write-up. It opens on hover, on tap and from the keyboard. The practice read in the API now returns each setting's summary as well. -
#167
570a0a2Thanks @akmalakhpah! - Admin, Practice has a "Compare profiles" button that shows Recommended, Google-style, Radical Focus, Lightweight and Governed side by side: every setting and threshold one of them changes, with the profile in use marked and each value that differs from Recommended in bold. The page also links to the full method, as the running release shipped it. METHOD.md carries the same table, and the conformance check now holds it to what choosing each profile does. -
#178
c426fe2Thanks @agungksidik! - An administrator can now choose who may create an account from Admin > General > Registration. The choices are Invitation only, Company email addresses and Anyone. Under Company email addresses, a company address can sign up and start a workspace. A Gmail, Yahoo, Outlook or other free mail address is refused with the reason, unless an invitation admits it. Every change is written to the instance audit chain.OPENOKR_REGISTRATIONis now read when nothing has been saved in the application. A free mail provider can no longer be added as a trusted email domain. -
#174
91af1bfThanks @akmalakhpah! - Every threshold on Admin, Rhythm and thresholds has a small "i". Where its reason cites a principle by number, such as "(principle 5)", the hint says what that principle is. It also names the part of the method the threshold comes from and links to that exact section. Check-in frequency and the anchor day, which show no reason on the card, carry theirs in the hint. -
#175
80354dbThanks @akmalakhpah! - A rule named by its key explains itself where it is named. Resting on a verdict such as "KR-3" on a goal's coach strip, on "Read the rule" in the goals list, or on a nudge's rule on the review inbox and the nudge volume page shows the rule's name, what kind it is, what a check looks for or when a nudge fires and who hears it. A click still opens the rule's page, and a quality check's page now links to its exact section of the method. -
#165
8c0fd5bThanks @agungksidik! - Administrators see the running version at the foot of every screen, on the right, and a link to the newest GitHub release when the instance is behind it. The check asks GitHub at most once a day, never delays a page and sends nothing about the instance. It is off on a managed cloud, and an administrator turns it off in Admin, General, or the operator withOPENOKR_UPDATE_CHECK=off. -
#165
df256ecThanks @agungksidik! - Admin, Branding takes a logo and a favicon. A chosen image is previewed in a light and a dark sidebar, or a browser tab, before it is saved. The logo replaces the initials in the sidebar for every member and the favicon is the tab icon on signed-in screens. New actionsettings.setWorkspaceBrandingImage; the colour save now keeps the images.
Patch Changes
-
#180
9eb86cfThanks @agungksidik! - Every save, create, edit and delete now shows the thin bar across the top of the window while the server works on it, the same bar a sidebar link shows. A fast answer shows nothing; after ten seconds, or offline, a message says the server has not answered yet. -
#178
6f01dbbThanks @agungksidik! - A new read,notifications.reasonCounts, returns how many unsnoozed notifications a member has in all, unread and per reason. Activity shows the number on each filter pill, counted on the server rather than over the page it lists. It is in the REST, command line and agent surfaces with the other notification reads. -
#176
1248521Thanks @akmalakhpah! - The cards on the Channels, Nudge volume, AI and Agents admin pages now have space between them instead of touching. -
#171
8f202fcThanks @dependabot! - The Anthropic provider moves to version 1 of Anthropic's SDK, which uses API version 2026-10-21 and sends the API key as a bearer token. That API version refuses a temperature on every model, so requests to Anthropic models no longer carry one, and the sampling a workspace sets for a tier does not apply to them. Nothing set a temperature on a request before this change, so no request behaves differently. A proxy in front of A...
v0.5.0-rc.1
Minor Changes
-
#177
5e8e96bThanks @akmalakhpah! - The agents have faces. The OKR Coach is blue, the OKR Champion is green, and the copilot and any custom agent wear a face in the text colour that follows light and dark. A face shows a mood that fits what the agent is saying: a sad Champion on an overdue check-in, a thinking Coach on a quality question, a happy one when every check passes. Faces appear on Agents and runs, the copilot, the inbox, the goal page, the Draft Coach, the alignment panel and the method pages. An idle face blinks and glances on a slow loop; the other moods play on hover and when the mood changes, and loop only while an agent is working. Every face holds still for anyone who asks for reduced motion. -
#165
5438611Thanks @agungksidik! - The agent setup pill on Home shows the marks of the agents it covers and adds steps for Codex and Cursor. Its close button appears on hover. -
#165
6172032Thanks @agungksidik! - The agent setup button copies one line. The agent fetches the steps from the instance's new public/agent-setup/prompt.md, which covers Claude Code, Codex, Cursor, GitHub Copilot, OpenCode, Windsurf, Hermes Agent and ChatGPT and holds no token. -
#178
02e97c4Thanks @agungksidik! - Activity counts unread on the server, so its number no longer stops at the 50 rows a page holds, and the Updates badge says what it adds up ("3 to do, 19 unread"). A check-in group in Activity is named after its objective. A Board card can be deleted, after a confirmation. The first-visit tour outlines its stop with a dashed line that does not read as keyboard focus, scrolls the stop into view, and shows no Back on the first stop. -
#178
0c03fdfThanks @agungksidik! - The person accountable for a goal is called the Owner by default, where it was the Champion. "Champion" is now the suggested alternative on the terminology card, and a workspace that renamed the term keeps its own word. The OKR Champion agent keeps its name. METHOD.md §0 and §2.5 say Owner, and the quality checks, gates, rule pages and goal exports follow. Goal list exports head the column "Owner". -
#178
ff7b2d5Thanks @agungksidik! - The setup wizard reads plainly: "Step 1 of 5" with a progress bar, the local time for the chosen zone, a Back button from step 2, "Weekly (recommended)", 44px rhythm buttons, templates as a radio group, and "Add sample data" or "Skip and finish" at the end. The Work Map's three figures explain themselves on hover, and its confidence chip reads "High, 8 in 10" with the bands on hover. Goals and search say objectives where they said goals. -
#168
3dbba8cThanks @akmalakhpah! - Every setting, profile and comparison row on Admin, Practice has a small "i" that says what it decides, in a sentence or two, with a link to its exact section of the method for the full write-up. It opens on hover, on tap and from the keyboard. The practice read in the API now returns each setting's summary as well. -
#167
570a0a2Thanks @akmalakhpah! - Admin, Practice has a "Compare profiles" button that shows Recommended, Google-style, Radical Focus, Lightweight and Governed side by side: every setting and threshold one of them changes, with the profile in use marked and each value that differs from Recommended in bold. The page also links to the full method, as the running release shipped it. METHOD.md carries the same table, and the conformance check now holds it to what choosing each profile does. -
#178
c426fe2Thanks @agungksidik! - An administrator can now choose who may create an account from Admin > General > Registration. The choices are Invitation only, Company email addresses and Anyone. Under Company email addresses, a company address can sign up and start a workspace. A Gmail, Yahoo, Outlook or other free mail address is refused with the reason, unless an invitation admits it. Every change is written to the instance audit chain.OPENOKR_REGISTRATIONis now read when nothing has been saved in the application. A free mail provider can no longer be added as a trusted email domain. -
#174
91af1bfThanks @akmalakhpah! - Every threshold on Admin, Rhythm and thresholds has a small "i". Where its reason cites a principle by number, such as "(principle 5)", the hint says what that principle is. It also names the part of the method the threshold comes from and links to that exact section. Check-in frequency and the anchor day, which show no reason on the card, carry theirs in the hint. -
#175
80354dbThanks @akmalakhpah! - A rule named by its key explains itself where it is named. Resting on a verdict such as "KR-3" on a goal's coach strip, on "Read the rule" in the goals list, or on a nudge's rule on the review inbox and the nudge volume page shows the rule's name, what kind it is, what a check looks for or when a nudge fires and who hears it. A click still opens the rule's page, and a quality check's page now links to its exact section of the method. -
#165
8c0fd5bThanks @agungksidik! - Administrators see the running version at the foot of every screen, on the right, and a link to the newest GitHub release when the instance is behind it. The check asks GitHub at most once a day, never delays a page and sends nothing about the instance. It is off on a managed cloud, and an administrator turns it off in Admin, General, or the operator withOPENOKR_UPDATE_CHECK=off. -
#165
df256ecThanks @agungksidik! - Admin, Branding takes a logo and a favicon. A chosen image is previewed in a light and a dark sidebar, or a browser tab, before it is saved. The logo replaces the initials in the sidebar for every member and the favicon is the tab icon on signed-in screens. New actionsettings.setWorkspaceBrandingImage; the colour save now keeps the images.
Patch Changes
-
#180
9eb86cfThanks @agungksidik! - Every save, create, edit and delete now shows the thin bar across the top of the window while the server works on it, the same bar a sidebar link shows. A fast answer shows nothing; after ten seconds, or offline, a message says the server has not answered yet. -
#178
6f01dbbThanks @agungksidik! - A new read,notifications.reasonCounts, returns how many unsnoozed notifications a member has in all, unread and per reason. Activity shows the number on each filter pill, counted on the server rather than over the page it lists. It is in the REST, command line and agent surfaces with the other notification reads. -
#176
1248521Thanks @akmalakhpah! - The cards on the Channels, Nudge volume, AI and Agents admin pages now have space between them instead of touching. -
#171
8f202fcThanks @dependabot! - The Anthropic provider moves to version 1 of Anthropic's SDK, which uses API version 2026-10-21 and sends the API key as a bearer token. That API version refuses a temperature on every model, so requests to Anthropic models no longer carry one, and the sampling a workspace sets for a tier does not apply to them. Nothing set a temperature on a request before this change, so no request behaves differently. A proxy in front of A...
v0.4.0
Minor Changes
-
#161
af6432bThanks @agungksidik! - The review inbox can be cleared.Each acknowledgement row shows the check-in's status and the first line of what
it says, and "Acknowledge all" acknowledges every listed one in one press. A
check-in nobody acknowledged within 14 days lapses: it leaves Review and the
acknowledgement ladder stops asking, and it is not recorded as acknowledged.
The window is the new §11 thresholdcadence.acknowledgementWindowDays, which
a workspace can change in Admin, Rhythm. -
#150
709abedThanks @agungksidik! - A member can connect their own AI agent by pasting one prompt.The Work Map shows a pill that copies a setup prompt for Claude Code, Hermes
Agent and ChatGPT in developer mode. The prompt names this
instance's agent endpoint and signs in with OAuth, so it carries no token and
the member approves the connection in the browser. Closing the pill hides it
until the next sign-in.The API tokens screen copies the same prompt, and the answer that mints an
agent token copies a version with that token in it. ChatGPT accepts OAuth only,
and the token version says so. -
#160
99c5680Thanks @agungksidik! - A new action,blockers.raise, lets a key result's owner (or their agent)
raise a blocker at check-in time without a session. It takes the same type,
owner and next action as a session blocker, is due by the goal's next
check-in, and shows on the space's blocker board for the weekly session to
discuss. It is in the defaultcoreagent toolset, and the weekly check-in
prompt uses it for a key result that is actually blocked. -
#161
4406071Thanks @agungksidik! - A champion watching their goal hears when the reviewer acknowledges its
check-in: the acknowledgement reaches the goal's watchers in the inbox, as a
published check-in already did. Pressing acknowledge again on the same
check-in tells nobody. -
#161
76abcf5Thanks @agungksidik! - A member can check in on any day, not only when the goal is due.The check-in page lists the member's other goals under "Update any time". A
goal that is not due offers "Post an update", which opens the usual composer.
An update posted more than the cadence tolerance before the due date is an
extra update: it moves health and progress, and the due date, its nudge and
the blocker clock stay where they were. Before this, an early check-in used up
the next period and that Monday's reminder never came.The check-in page and the Review inbox now list the same goals, so the Review
can no longer say a check-in is owed while the check-in page says nothing is
due. The rhythm share in the review diagnostic counts an extra update as
answering nothing, the way the cadence does.goals.dueaccepts up to 366
days ahead. -
#161
fd00fd3Thanks @agungksidik! - A blocker can be raised from the check-in page.Under the composer, "Something in the way?" takes the key result, the blocker
type, an owner and the next action, the same fields as the weekly session's
form. The blocker is due by the goal's next due date and shows on the space's
blocker board for the next session. Until now only the session room could
raise one. -
#160
91034ecThanks @agungksidik! - A new read action,goals.checkDraft, runs the METHOD.md §4 quality checks
on an objective and its key results that have not been saved, and returns
each check's status, the condition it matched, its coaching prompt and the
strength score. It saves nothing and needs no AI provider. It is in the
defaultcoreagent toolset, so an agent drafting with its own model can
check a draft beforegoals.createpublishes it, and the
review-against-the-canon prompt checks each rewrite with it. -
#161
aa2b282Thanks @agungksidik! - The OKRs list opens on your own objectives and reads as a status.Scope defaults to Mine, or to All when you have no objective of your own in the
cycle. The level, health, kind, champion, space and closed filters sit behind
one Filter button, which opens on its own while any of them is set. The pickers
under each row show their chevrons and calendar marks only while the row is
hovered or being edited, so the list no longer looks like an open form. Health
chips use the same words as everywhere else. -
#161
214cbb3Thanks @agungksidik! - A key result that reads a KPI now measures progress from its own baseline to
its own target.The KPI's latest reading is still the key result's current value. What changed
is the percentage: it used to be the KPI's achievement against the KPI's own
target, so "Raise deflection from 31% to 35%" at a reading of 31 showed 89%. It
now shows 0%, the same as any other key result at its baseline. Changing a
KPI's target no longer moves the key results that read it. Goal progress
recomputes the next time the KPI is recorded or the goal changes. -
#160
2afccd5Thanks @agungksidik! - Seventeen AI-assist tools leave the agent catalogue, among them
goals.draftObjective,kpis.suggestandsessions.draftMinutes. The MCP
server makes no outbound AI calls, so each of them answered null to every
agent. They stay on REST, the command line and the browser. The full
catalogue is now 377 tools. -
#160
0467a32Thanks @agungksidik! - Two new agent toolsets.roomholds the live session's own moves (votes and
their reveal, the mic, pulse, kudos, retro notes, anonymous process-health
answers), split fromfacilitation.integrationsholds AI providers, chat
channels, single sign-on and spreadsheet imports, split fromadmin, which
was over the 128-tool cap some clients apply. The defaultcoretoolset now
also publishes and approves a drafted objective. An address that named
facilitationoradminfor one of the moved tools addsroomor
integrations. -
#150
7db1b13Thanks @agungksidik! - The agent endpoint offers a small catalogue by default. A connection sees the
57coretools a member uses every week unless its address names more with
?toolsets=(core,work,facilitation,adminorall), and it is shown
only the tools its token's scopes can call. Twenty actions that exist for the
importer, the scheduler, the copilot's own bookkeeping or the tokens screen are
no longer agent tools; they stay on/api/v1. An agent that relied on the full
list should add?toolsets=allto the server address. A call to a tool outside
the chosen toolsets is refused with the toolset that holds it. -
#161
73845ccThanks @agungksidik! - A member sees their own check-in streak on the check-in page.It counts the periods in a row in which they posted a check-in on a goal they
champion, by the same rule as the space's streak. It is paused, and names the
goal, while one of their goals reads on track with a key result that has not
moved past the divergence window, so re-entering the same number does not keep
it alive. A new read action,goals.myStreak, serves it and is in the agent
coretoolset. -
#161
35acd7eThanks @agungksidik! - The sidebar is five areas instead of fifteen rows.Home, Updates, Goals, Work and the workspace's word for spaces, then Cycle for
workspace administrators and space coordinators and managers, who also see the
phase strip. Updates holds To do (the former Review) and Activity (the former
Inbox) as tabs with one badge; Goals holds OKRs and KPIs; Work holds
Initiatives and the Board. Search is in the topbar only, and the account pages
and Admin are in t...
v0.4.0-rc.1
No changelog section was found for v0.4.0-rc.1. See the commit log.
Image: ghcr.io/open-okr/open-okr@sha256:a9cc2d116c7637c5c88616cd6c648f92d3d699955a846fe2e989e54f325c76d4
Verify the signature before you run it:
cosign verify \n --certificate-identity-regexp "^https://github.com/open-okr/open-okr/.github/workflows/release.yml@refs/tags/" \n --certificate-oidc-issuer "https://token.actions.githubusercontent.com" \n ghcr.io/open-okr/open-okr@sha256:a9cc2d116c7637c5c88616cd6c648f92d3d699955a846fe2e989e54f325c76d4
v0.3.1
Patch Changes
-
#128
2becbe2Thanks @akmalakhpah! - The first published 0.3 release.0.3.0 was tagged and never published: its release job ran every package's
tests at once on one machine, and a timing test failed under that load. The
release job now runs them one package at a time. Everything in 0.3.0's
notes
ships in this release, and upgrading from 0.2 follows the "0.2 to 0.3"
section ofdocs/runbooks/upgrade.md, data changes included. -
Updated dependencies []:
- @openokr/adapters@0.3.1
- @openokr/agents@0.3.1
- @openokr/config@0.3.1
- @openokr/core@0.3.1
- @openokr/formats@0.3.1
- @openokr/method@0.3.1
- @openokr/ui@0.3.1
Image: ghcr.io/open-okr/open-okr@sha256:72ca59b9431730f2f1eb825646767c4a425653a0b2365b304b3991a0e4bcf09b
Verify the signature before you run it:
cosign verify \n --certificate-identity-regexp "^https://github.com/open-okr/open-okr/.github/workflows/release.yml@refs/tags/" \n --certificate-oidc-issuer "https://token.actions.githubusercontent.com" \n ghcr.io/open-okr/open-okr@sha256:72ca59b9431730f2f1eb825646767c4a425653a0b2365b304b3991a0e4bcf09b
v0.2.0
Minor Changes
-
#110
d44d1d7Thanks @akmalakhpah! - A member now hears at most five nudges a week, where it was ten (METHOD.md
§11). Anything past the ceiling is held and listed in the member's next
morning summary, with the rule it cites and a link to what it is about, so
nothing held back is lost. The morning summary itself is not held by the
ceiling and does not count against it, and an escalation about somebody
else's work still always gets through. -
#111
70250f5Thanks @agungksidik! - A cycle and an objective ask for less before they will accept anything.A cycle demanded a sponsor, a facilitator and a publication deadline before
phase one would read green, and every one of those is a question the person
making it could usually only answer with their own name or a guess. The
sponsor and the facilitator now default to whoever creates the cycle, and the
publication deadline to the day before it starts.Nothing in the method loosened. Phase one still asks that a sponsor and a
facilitator be named, and this names them; the publish gate still asks for a
date before day one, and the default is the latest date that satisfies it,
which is the only one the product can choose without making a judgement that
belongs to a facilitator. Any of the three is changed on the cycle screen.An objective can be created from a title alone. Champion and reviewer default
to whoever typed it, wherever an objective is created: the OKR screen, the
drafting surface, the annual frame, the command line and the API all behave
the same way, because the default sits in the one place they all pass
through. A reviewer who is also the champion is reported by the quality checks
rather than refused, which is what makes it something you can fix. -
#110
af81a77Thanks @akmalakhpah! - The weekly session's step 2 is now "Discuss what dropped" (METHOD.md §7.2).
It lists every key result scored low, and every one whose confidence fell
since the last session that scored it. A low score needs a next action and
its owner, due by the goal's next check-in, before the session moves on; a
blocker is raised beside it only where something is actually blocked, and a
blocker's own next action answers the score too. The session used to ask for
a blocker on every low score.Two new actions,
sessions.setNextActionandsessions.lowScores, and three
columns on a session's confirmed confidences hold the next action, its owner
and when it is due (migration 0129). -
#111
3ee286aThanks @agungksidik! - Roles and permissions have a screen.The matrix arrived in the previous release with five actions and no page, so
the only way to answer "who may edit an objective" was the command line. It is
at Admin, Roles and permissions now, and it takes the same level as
invitations and support access, because deciding what a role may do is
deciding who can change what.Two cards. The matrix says what each role may do in each domain: objectives,
KPIs, initiatives, tasks, comments, spaces and the workspace itself, each at
nothing, view, comment, edit or manage. The list below says who holds which
role, and offers "no role", which is a real answer: a member with none holds
exactly what their bindings give them.Owner is drawn and drawn as fixed, with the reason on the row. Hiding it would
leave somebody wondering where the most powerful role went.The screen says the rule that surprises people, rather than leaving them to
discover it: a role raises what somebody may do and never lowers it. Lowering
Member on objectives does not take away the edit a champion holds on their own
objective.A role somebody still holds cannot be removed, and the screen says who would
be stranded rather than moving them somewhere by itself. -
#111
edc2863Thanks @agungksidik! - A space no longer decides who may edit an objective in it.It did, and that was the only answer to the question: every member of the
owning space held edit on every objective in it. The rule could be stated only
by reading the access tables, it could be changed only by moving people between
spaces, and no screen showed it.The workspace role answers it now, on the roles screen an administrator can
edit. That is what makes the screen mean anything: before this, lowering Member
on objectives changed no level anywhere, because the space binding still
granted the edit underneath it.Nobody loses the edit when this release lands. The role backfill runs first and
gives every active member the Member role, which grants edit on objectives, so
the level is the same number from a different source. What changes is that an
administrator can now change it.Who can see an objective is untouched. Every member of the workspace reads
every objective, as they always have.An initiative follows the same rule: its space no longer grants edit either,
and the role decides. The owner keeps full control of their own initiative.A space still decides its own membership, its session cadence and everything
that reads them.A review is unchanged for everybody in the room. Scoring a key result,
writing the narrative, taking the close decision and revealing the votes used
to ask for edit on the objective, which worked only because a space granted it
to everybody. They ask to see the objective now, and being in the room is what
says you may take part. Somebody outside the room still cannot, and somebody
holding the narrowest role can still score with their team, which is what the
method asks for. -
#110
9d1b0e4Thanks @akmalakhpah! - A space's check-in frequency now takes effect (METHOD.md §7.1). It was stored
and read by nothing, so a team that chose every two weeks went on being asked
every week. A goal created in the space takes the space's frequency, and
changing it moves the open goals that follow it, each with its next due date
counted from the new frequency; a goal set to a frequency of its own keeps it.
The space card no longer offers "quarterly", which no goal checks in at.A quarter's planning now opens four weeks before it starts, where it was
three. -
#110
9172e0bThanks @akmalakhpah! - The rhythm streak now counts a space's own check-in periods (METHOD.md §7.4):
weeks, fortnights for a space on every two weeks, or months for a monthly
one. A team on every two weeks no longer breaks its streak in the week
between, and the streak-at-risk warning reads the same periods. Booking a
cycle's rhythm books one check-in per period, and whether the cycle is booked
is judged the same way. -
#110
4e38c5aThanks @akmalakhpah! - A key result may now be saved before its target is known, and an addition
says what it still lacks (METHOD.md §2.9).goals.addKeyResultno longer asks
a metric or a maintain key result for itstargetValue; one saved without it
reads "no target yet", fails the completeness check, reads 0% progress and
forecasts nothing, and its first target asks for no reason.targetValueis
nullin every read until it is set. An objective or a key result added
mid-cycle is live once it passes the checks set to block, and until then the
OKR list, the drawer and the diagram mark it "Draft: needs" what is missing,
such as a target or a due date.goals.treeanswers the same as adrafton
each objective and key result, null when it is live. -
#110
fecd1c1Thanks @akmalakhpah! - Stage 9 of the quarterly review is "Keep, modify, abandon or defer"
(METHOD.md §8.8). An objective now closes as one of five decisions:
achieved, keep, modify, defer or abandon, each with its meaning on the
screen. An unfinished aspirational objective shows "Proposed: Keep" where
the workspace carries forward, and the room still chooses.A deferred objective is fed forward to the next cycle's issue list when the
cycle is archived, at the carry-forward impact, once.Migration 0136 widens the close decision on goals and on review decisions.
Every stored decision stays valid. -
#110
39c25e8Thanks @akmalakhpah! - An objective or key result started mid-cycle now says so (METHOD.md §2.9).
Once t...
v0.1.2
Patch Changes
-
#103
9ea1aeeThanks @akmalakhpah! - 0.1.1 was tagged but never published either, so this is the first release of
OpenOKR you can install. Everything listed under
0.1.1
and
0.1.0
in the changelog is in it.Before it publishes anything, the release run boots the Compose target from
nothing and checks it. That check read the logs of a stack namedopenokr,
while the release run had started its stack under another name. It found no
log and reported that migrations had not run, when they had.deploy/docker/smoke-test.shnow checks whichever stack./openokr up
started: the oneCOMPOSE_PROJECT_NAMEnames when it is set, andopenokr
otherwise. If you run the smoke test yourself under a project name of your
own, it now tests that stack rather than one that is not there. -
Updated dependencies []:
- @openokr/adapters@0.1.2
- @openokr/agents@0.1.2
- @openokr/config@0.1.2
- @openokr/core@0.1.2
- @openokr/method@0.1.2
- @openokr/ui@0.1.2
Image: ghcr.io/open-okr/open-okr@sha256:a941e26f4797485054c40ec7fbed0ffa14cc63ae0a4b899883e36ce12f33229a
Verify the signature before you run it:
cosign verify \n --certificate-identity-regexp "^https://github.com/open-okr/open-okr/.github/workflows/release.yml@refs/tags/" \n --certificate-oidc-issuer "https://token.actions.githubusercontent.com" \n ghcr.io/open-okr/open-okr@sha256:a941e26f4797485054c40ec7fbed0ffa14cc63ae0a4b899883e36ce12f33229a
v0.1.2-rc.1
No changelog section was found for v0.1.2-rc.1. See the commit log.
Image: ghcr.io/open-okr/open-okr@sha256:1709f668dff57990d8dc968a39c67d0ed655785591d2fe8e6c7d6c21cca071d5
Verify the signature before you run it:
cosign verify \n --certificate-identity-regexp "^https://github.com/open-okr/open-okr/.github/workflows/release.yml@refs/tags/" \n --certificate-oidc-issuer "https://token.actions.githubusercontent.com" \n ghcr.io/open-okr/open-okr@sha256:1709f668dff57990d8dc968a39c67d0ed655785591d2fe8e6c7d6c21cca071d5