Changelog Entry
A structured release entry naming what was added, changed, fixed, or removed in a given version - grouped by impact class under a version heading.
Changelog Entry
Section titled “Changelog Entry”A changelog entry is the structured short form of a release announcement. It lives under a version heading and groups items by impact class (Added, Changed, Fixed, Deprecated, Removed, Security). The grouping itself is the load-bearing convention: it lets a reader answer “did anything break for me” and “did anything I wanted get fixed” in seconds.
Canonical template
Section titled “Canonical template”## [Version] - YYYY-MM-DD
### Added- [New feature, described from the user's perspective] (#PR)
### Changed- [Behavior change that does not break existing usage] (#PR)
### Deprecated- [Feature scheduled for removal in a future version, with migration note] (#PR)
### Removed- [Feature deleted in this version, with migration note] (#PR)
### Fixed- [Bug fix, described from the user's perspective] (#PR)
### Security- [Security fix, often with CVE link or advisory link] (#PR)When to use
Section titled “When to use”Use a changelog entry for software release notes, version migration docs, and library upgrade guides where users need to scan impact quickly. Each version gets one entry; entries accumulate in a single CHANGELOG.md with newest at the top.
When not to use
Section titled “When not to use”Do not use this format for marketing-style release announcements (write a long-form blog post instead). Do not use it for internal team status updates. Do not paste a git log and call it a changelog - the grouping by impact class is the whole point.
Pairs well with
Section titled “Pairs well with”technical-writer, matter-of-fact, decision-log
Often confused with
Section titled “Often confused with”meeting-notes: Meeting notes capture discussion that happened in a meeting; they are organized by topic and time. A changelog entry captures what changed in a software release; it is organized by impact class. The two share a “structured short form” feel but serve completely different purposes.
- A version heading in the form ”## [Version] - YYYY-MM-DD”
- Items grouped by impact class: Added, Changed, Deprecated, Removed, Fixed, Security
- Each item is one line, past tense or a short noun phrase
- Items written from the user’s perspective and linked to the underlying PR or issue
- Newest version at the top, with empty subsections omitted
- Breaking changes called out explicitly with a migration note
Anti-patterns
Section titled “Anti-patterns”- Pasting a flat list of raw commit messages under the version heading - Without grouping by impact class it has stopped being a changelog and become a git log; the grouping is the whole load-bearing convention.
- Writing items from the developer’s internal perspective rather than the user’s - A reader scans a changelog to learn what changed for them; “refactored the auth module” answers a question no user asked.
- Adding marketing language or narrative framing to the entries - That is a release-announcement blog post, not a changelog; the format is a matter-of-fact scan surface, not a place to sell the release.
Failure modes
Section titled “Failure modes”- Swells each line into an essay - a one-line entry grows into a paragraph of rationale, caveats, and backstory - Keep each item to a single scannable line; if an entry needs a paragraph to explain, link out to the PR or a migration guide and leave one line behind.
- Multiplies impact-class sections beyond the standard set until the scan structure itself becomes noise - Stick to the established subsections; a reader relies on a known, small set of impact classes, so resist inventing per-release categories.
Instruction
Section titled “Instruction”Write a changelog entry for a software release. Use a version heading in the form"## [VERSION] - YYYY-MM-DD". Group items under the six standard subsections: Added, Changed,Deprecated, Removed, Fixed, Security. Omit empty subsections. Each item should be one line,written from the user's perspective (what changed for them), and linked to the underlying PR orissue where possible. Use matter-of-fact tone. Do not editorialize, do not market, do not narrate.If an item is a breaking change, say so explicitly and include a migration note.Template
Section titled “Template”See the Changelog Entry template.
Related
Section titled “Related”Pairs well with
Section titled “Pairs well with”Technical Writer, Matter of Fact, Decision Log
Avoid with
Section titled “Avoid with”Storyteller, Narrative Case Study
Often confused with
Section titled “Often confused with”Examples
Section titled “Examples”- Should we adopt async-first standups?
- How to start a morning routine
- How to choose between Postgres and DynamoDB for a new service
- Telling stakeholders a committed feature is being cut this quarter
- Getting a new engineer productive in their first two weeks
- Writing to thank a mentor who shaped your career
- Reflecting on keeping a discipline of rest
- Marking a long-serving colleague's departure
- Marking the team shipping a hard, long project
- Arguing a public position on return-to-office
- Announcing a new product to an outside audience
- A personal year-end reckoning with a difficult year
Team Standup Process - Changelog
Section titled “Team Standup Process - Changelog”All notable changes to this team’s standup ritual are documented here. Versioning loosely follows SemVer: breaking ritual changes bump the major version.
[2.0.0] - Async-first trial
Section titled “[2.0.0] - Async-first trial”Major change to how the 11-person team running across 4 timezones runs standups. This release ends the daily sync standup and replaces it with a written async post plus a single weekly working session. A 30-day trial period begins with this release.
- Async standup post in
#team-standup, due by 10am local time, using a fixed three-field template (Shipped / In progress / Blocked or at risk). - Slack shortcut
/standupthat pre-fills the three-field template. - Thursday working session, 60 minutes, 8am Pacific / 8:30pm IST. Cancellable by Wednesday 5pm Pacific if there is no agenda.
- On-call engineer is now responsible for triaging
@mentionblockers in#team-standupwithin the workday. New on-call section added to the playbook. - Trial retro doc at
docs/trial-retro.mdfor capturing mid-trial feedback in one place.
Changed
Section titled “Changed”- On-call engineer’s morning responsibility shifts from running the sync standup to scanning the async channel once between 10am and 11am Pacific.
- “Blocked” became “Blocked or at risk.” We were under-reporting because nothing felt fully blocked until it was too late.
- Engineering manager’s role on Mondays moves from facilitator to async reader. Office hours added Tuesday afternoon for 1:1 follow-ups.
Deprecated
Section titled “Deprecated”- “Quick sync after standup” sidebars. If something needs a 1:1, schedule it; do not assume the standup hangover provides one.
Removed
Section titled “Removed”- Daily 9am Pacific sync standup. The recurring calendar invite has been deleted from all 11 calendars.
- Manual standup notes doc. Async posts in Slack are now the source of truth and are searchable via channel history.
- Round-robin status order. There is no order in async; people post when they start their day.
Migration notes
Section titled “Migration notes”- Engineers in IST: you get your evenings back. The 9:30pm slot is yours again.
- Engineers in US Pacific and Eastern: your first 30 minutes of the day are now writing instead of talking.
- If you forget to post by 10am local, the on-call will
@mentionyou. Two missed posts in a week triggers a check-in, not a punishment.
[1.4.2] - Previous release
Section titled “[1.4.2] - Previous release”- Fixed: timezone display in the standup notes doc was showing PST year-round during daylight saving.
[1.0.0] - Initial sync standup process
Section titled “[1.0.0] - Initial sync standup process”- Daily 9am Pacific standup, 15-minute time box, round-robin order, notes captured in a shared doc.
My Morning Routine - Changelog
Section titled “My Morning Routine - Changelog”A running log of changes to my personal first-hour protocol. Versioning is loose but real: a major bump means the structure changed, a minor bump means a step was tuned, a patch bump means I noticed a small thing.
[3.0.0] - The four-step protocol
Section titled “[3.0.0] - The four-step protocol”The first protocol I have actually stuck to for more than two weeks. This release reorganizes the entire morning around a fixed sequence and bans the phone from the first 35 minutes after waking.
- Water step. 500ml within 5 minutes of waking. The glass goes on the nightstand the night before, which removed the only excuse I had been using.
- Light step. 10 minutes outside, or by an open window when weather refuses. Counts as light only if there is no screen between me and the light source.
- Planning step. 10 minutes with paper and pen. Top three for the day, written before any Slack or email exposure.
- Daily log row in
log/days.csv. Single row, six columns. Done as part of the planning step, on the same page.
Changed
Section titled “Changed”- Wake time fixed at 6:15. Previously drifting between 6:00 and 7:00 depending on the night before. The drift was doing more damage than the lost sleep.
- Movement reduced from 30 minutes to 15. The longer block was the reason I skipped the routine entirely on tired days. A 15-minute floor turns out to be more sustainable than a 30-minute aspiration.
- Coffee is now after planning, not before. Caffeine before water and light made me jittery and unfocused. Now it bookends the protocol instead of replacing it.
Deprecated
Section titled “Deprecated”- The 5:30 wake attempt. Beautiful in theory, unkind to my actual sleep need. Keeping it documented in
notes/abandoned/for archaeology.
Removed
Section titled “Removed”- Phone in the first 35 minutes. This was the hardest one and the highest-impact. The phone now lives charging in the kitchen overnight, not on the nightstand.
- Morning email triage. Moved to 9:15am as the first work block. Email was masquerading as planning; planning needs paper.
- Optional steps. v2.x had a stretch step that was sometimes there, sometimes not. Optional became “skipped.” The whole protocol is now mandatory or I have not done it.
- The “I will start tomorrow” loop. Counting partial mornings as completed-with-asterisk fixed the all-or-nothing failure mode.
Migration notes
Section titled “Migration notes”- I moved the phone to the kitchen on a Sunday night and could not reach it from bed. That is the migration.
- Family is already used to me being weird in the morning, so no comms needed there.
[2.4.1] - Patch
Section titled “[2.4.1] - Patch”- Fixed: 6am cold water on the face was not waking me up faster, it was waking up my sinuses. Removed.
[2.0.0] - The “wake up earlier” attempt
Section titled “[2.0.0] - The “wake up earlier” attempt”- Tried 5:30 wake. Lasted 11 days. Got more tired, not less productive. Filed under “lessons.”
[1.0.0] - The original
Section titled “[1.0.0] - The original”- Wake, check phone, scroll, get dressed, leave. The default. Documented here only so the changes have a baseline.
CHANGELOG - notification-service
Section titled “CHANGELOG - notification-service”[0.1.0] - 2026-05-22
Section titled “[0.1.0] - 2026-05-22”First internal release of the Lattice Notify real-time notification service. Datastore selection (Postgres vs DynamoDB) was concluded at the Wednesday 2026-05-13 architecture meeting; the Friday sprint plan is built on this release.
- Notification storage backed by Postgres (
notificationsschema in the primary cluster) (#142) - Job queue using
pg_notifyplus anotification_jobstable for fanout work (#143) - Read replica routing for fanout reads to absorb the 500K events/day launch load (#144)
- Datastore decision recorded in ADR-0023 with a 5M events/day revisit threshold (#145)
- Dashboard for
notifications.write_rate,notification_jobs.queue_depth, and replica lag (#146) - On-call runbook section for notification-service incidents, owned by the 4-person rotation (#147)
Changed
Section titled “Changed”- Sprint plan for 2026-05-25 week reorganized around the Postgres path; previous DynamoDB spike work archived under
spikes/dynamodb-2026-05/(#148) - Capacity-planning doc updated to reflect Postgres-only scaling milestones (#149)
Deprecated
Section titled “Deprecated”- DynamoDB spike code in
experiments/notify-ddb/deprecated; will be removed in 0.3.0 once the Postgres path has 30 days of clean production data. Migration note: no production traffic ever ran on this path, no data migration is required (#150)
Removed
Section titled “Removed”- The temporary in-memory notification buffer used during the spike phase is removed; all writes now go through the Postgres path (#151)
- Fixed a race condition in the spike-era fanout logic where two replicas could double-deliver the same notification under load (#152)
- Fixed missing index on
notification_jobs.created_atthat caused queue-drain queries to fall back to sequential scan (#153)
Security
Section titled “Security”- All notification payloads encrypted at rest via existing Postgres TDE configuration; no additional KMS surface introduced (#154)
- New on-call playbook step requires confirming PII redaction in notification logs before any debug export (#155)
Prism Product Roadmap - Changelog
Section titled “Prism Product Roadmap - Changelog”All notable changes to the Prism delivery plan are documented here. Versions follow the format YYYY-QN-RN: year, quarter, and revision within that quarter.
[2026-Q3-R2] - 2026-09-12
Section titled “[2026-Q3-R2] - 2026-09-12”Scope revision following the mandatory billing-system migration. This entry removes the Insights dashboard from Q3 2026 delivery and replaces it with a CSV export stopgap shipping before the end of September.
- Analytics data export: customers can now download a full CSV of their account’s usage data for analysis in a spreadsheet or BI tool (#412)
- Export covers the same date ranges and dimension filters available on the current reporting screen (#412)
Changed
Section titled “Changed”- Insights dashboard delivery target moved from Q3 2026 to Q1 2027 (#408)
- Revised Insights scope and updated acceptance criteria will be published at the October roadmap review (#408)
Removed
Section titled “Removed”- Insights dashboard removed from the Q3 2026 release; a mandatory billing-system migration overran its planned window and consumed the engineering capacity originally allocated to Insights (#408)
- Shipping Insights by the original Q3 date would have required releasing a partial implementation; the team scoped the CSV export as a lower-risk stopgap instead (#408)
[2026-Q3-R1] - 2026-06-15
Section titled “[2026-Q3-R1] - 2026-06-15”- Added: Insights in-app analytics dashboard committed for Q3 2026 delivery (#383)
- Added: CSV data export committed as a Q3 stretch goal (#384)
[Week 2] - 2026-07-07
Section titled “[Week 2] - 2026-07-07”- First production change shipped by Priya: rate-limiter config update to the user-session service (#82)
- On-call shadow schedule published; Priya assigned to shadow Tariq’s rotation 2026-07-14 through 2026-07-18 (#84)
- Service ownership reference added to RUNBOOK.md: maps each service to its primary and secondary owner (#83)
- Architecture review meeting invite extended to Priya as a regular attendee (#86)
Changed
Section titled “Changed”- Daily check-ins with onboarding buddy Tariq shifted to end-of-day 15-minute wrap; midday slot freed for independent ramp (#85)
- Priya’s ticket-tracker role updated from Viewer to Contributor; can now create and assign tasks (#80)
- Staging environment permission gap corrected; Priya can now deploy to staging without a manual override (#81)
[Week 1] - 2026-06-30
Section titled “[Week 1] - 2026-06-30”- Dev environment provisioned and smoke-tested by end of Day 1 using onboarding checklist v2.3 (#71)
- Access granted: code repository, ticket tracker, deployment pipeline, on-call alerting tool, internal wiki (#69)
- Onboarding buddy Tariq assigned; daily 30-minute check-in block scheduled through 2026-07-11 (#73)
- First pairing session completed: traced a recent incident from initial alert through to the postmortem (#74)
- Service dependency map reviewed in walkthrough; diagram linked from the team wiki home page (#72)
- Team lunch held on Day 3; Priya introduced to the broader org outside the engineering context (#75)
- Escalation paths for on-call documented in RUNBOOK.md with primary and secondary owner for each service tier (#76)
Changed
Section titled “Changed”- Team messaging channels updated: Priya added as full member to engineering, deploys, incidents, and social channels (#77)
- On-call rotation calendar shared in the team wiki with weekly primary listed through Q3 (#78)
- VPN credentials delayed two days due to IT provisioning queue; workaround (web-based repository access) documented in ONBOARDING.md for future hires (#70)
RELATIONSHIP.md
Section titled “RELATIONSHIP.md”All notable changes to who I became as a professional are documented in this file.
Format follows the Keep a Changelog convention: entries are grouped by impact class under a version heading. Newest version at the top. Breaking changes include migration notes.
Upstream contributor: Dana Reyes (2016 - 2024, active emeritus)
[2.0.0] - 2026-05-09
Section titled “[2.0.0] - 2026-05-09”Behavioral release. The knowledge encoded in 1.0.0 was effectively read-only until this version activated it.
Breaking change: Callers who depended on the assumption that mentorship was something that happened to you rather than something you did will need to migrate. See migration notes below.
- Sasha Okonkwo’s name on a project-lead credit she will carry forward, placed there before she felt ready (#promotion-board-May-2026)
- First direct experience of the specific patience Dana expended in 2016 - felt from the inside for the first time (#promotion-board-May-2026)
- This document, which could not exist until the pattern had a second instance to confirm it was a pattern
Changed
Section titled “Changed”- Classification of the 2016 Meridian engagement shifted from “lucky break” to “deliberate act with a cost paid by someone else” (#retrospective-2026)
- Understanding of Dana’s restraint during the Meridian weeks reclassified from background feature to load-bearing architecture (#retrospective-2026)
- Role in the mentoring relationship inverted from recipient to source (#promotion-board-May-2026)
- Long-standing misattribution: the Meridian lead outcome has been correctly credited to Dana’s decision to sponsor a risk she did not have to take, not to my having been ready for it (#retrospective-2026)
Migration notes
Section titled “Migration notes”Callers upgrading from 1.0.0: the API surface is unchanged but the semantics have shifted. “What Dana did” is no longer stored as a memory; it has been promoted to a method that is now callable from the current context. Several downstream behaviors have already been updated accordingly.
[1.0.0] - 2016-03-14
Section titled “[1.0.0] - 2016-03-14”First stable release of capacity to lead under uncertainty. All prior versions were pre-release. This version should not have been possible without an upstream contribution that is difficult to backport and impossible to repay.
- Ability to hold ownership of a project before personal readiness had arrived (#meridian-relaunch-Q1-2016)
- Weekly check-ins with Dana that provided course correction without transferring ownership back to her (#meridian-relaunch-Q1-2016)
- Habit of separating “I do not know how to do this yet” from “I am the wrong person for this” (#meridian-relaunch-Q1-2016)
- Tolerance for the specific discomfort of being responsible for an outcome whose shape was not yet clear (#meridian-relaunch-Q1-2016)
Changed
Section titled “Changed”- Default response to a stretch assignment shifted from “I am not sure I am the right person” to “what would it take to do this well” (#meridian-relaunch-Q1-2016)
- Relationship to early-stage failure reclassified from “evidence I should not have tried” to “data from a legitimate attempt” (#meridian-relaunch-Q1-2016)
- Reading of a senior colleague’s silence mid-project corrected: present without intervening is not the same as absent (#meridian-relaunch-Q1-2016)
- Structural defect in which confidence was treated as a precondition for responsibility rather than a byproduct of having carried it (#meridian-relaunch-Q1-2016)
Removed
Section titled “Removed”- Assumption that a sponsor who does not rescue you from difficulty has left you on your own (#meridian-relaunch-Q1-2016)
- Working theory that readiness is something you arrive at before the opportunity rather than during it (#meridian-relaunch-Q1-2016)
CHANGELOG - Weekly Rest Practice
Section titled “CHANGELOG - Weekly Rest Practice”A personal record of all significant changes to the practice of keeping one full day of rest each week. Newest version first.
[1.0.0] - 2026-02-28
Section titled “[1.0.0] - 2026-02-28”- Firm boundary rule: rest begins at the close of the last work session on Friday and does not lift until Monday morning (#j-2026-02-15)
- Paper slip protocol: any task that surfaces during rest gets written on paper and reviewed Monday, not entered into the task tracker (#j-2026-02-15)
Changed
Section titled “Changed”- Rest is now defined by the absence of the production stance rather than the absence of tasks; sitting with a book still qualifies, mental rehearsal of project timelines does not (#j-2026-02-22)
- The self-assessment question at week’s end shifted from “was I productive?” to “did I rest?”; they are different measurements of different things (#j-2026-02-22)
- The mid-morning anxiety that persisted through versions 0.2 and 0.3 is largely resolved; the day now settles into stillness by late morning rather than mid-afternoon (#j-2026-02-28)
- The week following a full rest day is now consistently different from weeks without one: steadier attention, faster judgment on Monday, less reactive by Tuesday (#j-2026-02-28)
[0.3.0] - 2025-11-17
Section titled “[0.3.0] - 2025-11-17”- Phone relocated to a separate room at the close of Friday; physical distance reduces the pull to check without requiring willpower each time (#j-2025-11-10)
- Loose anchor structure for the day: one long walk, one meal without agenda; fully unstructured time had been generating its own anxiety in earlier versions (#j-2025-11-10)
Changed
Section titled “Changed”- Definition of “staying aware” tightened; the previous rule permitted brief notification scans with stated intention to stay current, which reliably re-engaged full work thinking within minutes (#j-2025-11-03)
Deprecated
Section titled “Deprecated”- All notification scans during rest hours regardless of stated intent; scheduled for removal in the next version (#j-2025-11-17)
- Four consecutive rest weeks tracked against four comparable non-rest weeks; the post-rest weeks showed a legible difference in available mental steadiness, not visible in output counts but apparent in decision quality (#j-2025-11-17)
[0.2.0] - 2025-07-06
Section titled “[0.2.0] - 2025-07-06”- Renewed attempt after a two-year gap since the discontinued 0.1.0 experiment (#j-2025-06-29)
- Named the practice “weekly rest”; naming it made it possible to treat it as something that can be iterated rather than merely failed (#j-2025-06-29)
Changed
Section titled “Changed”- Scope of rest broadened from “no deliverables” to “no production stance”; the narrower scope had allowed sustained mental re-engagement while technically not producing anything (#j-2025-07-06)
- Rest day expanded from Sunday afternoon only to the full calendar day (#j-2025-07-06)
Removed
Section titled “Removed”- Permission to open the task tracker on rest days, revoked after three observations that opening it even briefly triggered a multi-hour re-engagement spiral (#j-2025-07-06)
[0.1.0] - 2023-09-03
Section titled “[0.1.0] - 2023-09-03”- Initial rule: no work after noon on Sundays (#j-2023-09-03)
Removed
Section titled “Removed”- The noon rule, discontinued after three Sundays; the boundary was too soft to hold, the habit never took root, and the experiment ended before any benefit could register (#j-2023-09-24)
CHANGELOG - Operations Team - Meridian Group
Section titled “CHANGELOG - Operations Team - Meridian Group”All notable changes to team composition and operational capability are documented here.
2026.06.0 - 2026-06-30
Section titled “2026.06.0 - 2026-06-30”Removed
Section titled “Removed”- Howard Bellamy, Senior Operations Analyst, retired effective 2026-06-30 after 26 years with the firm (#hr-offboarding-00112)
- Informal “ask Howard” escalation path for P1/P2 incidents and pre-2015 account questions (#ops/escalation-matrix)
- Howard’s standing Wednesday 4:00 p.m. walk-in hours for junior analysts (#calendar/h.bellamy)
Deprecated
Section titled “Deprecated”- Oral Caldwell cluster anomaly resolution (Howard’s pattern since 2004); callers should route to #wiki/caldwell-anomalies until the knowledge-transfer series completes (#ops/kt-series)
- Informal mentorship intake for new analysts; enrollment now required via #tracker/mentorship
Changed
Section titled “Changed”- P1 and P2 on-call escalation matrix updated; incidents previously routed to Howard by institutional reflex now route to the senior-analyst rotation (#runbook-v4.2)
- Pre-2018 account history split across three documented wiki pages, replacing single-point oral knowledge (#wiki/legacy-accounts)
- Crisis communication tree updated; Howard’s de facto steady-hand contact role formalized across three named backups (#comms/crisis-tree-v3)
- Howard Bellamy listed in the alumni directory; reachable by email for a 90-day transition window through 2026-09-28 (#directory/alumni-00112)
- Six-week knowledge-transfer session series (Tuesdays, 2:00 p.m.) running through 2026-06-30 (#calendar/kt-series-2026)
- Caldwell cluster incident history documented by Howard in #wiki/caldwell-history before departure date
- Nightly batch reconciliation script workaround, maintained manually by Howard since 2011, now formalized in the runbook with root-cause notes (#runbook-v4.2, #ticket-9201)
- Three recurring P2 incidents resolved from memory by Howard each quarter since 2016 now have permanent documented resolutions (#post-mortem/reconcile-trigger, #post-mortem/batch-timeout, #post-mortem/ledger-sync)
- Caldwell monthly roll-up dependency chain, caught silently by Howard for seven years before it reached the queue, now automated in the pipeline (#pipeline/caldwell-rollup-v2)
[3.0.0] - 2026-03-15
Section titled “[3.0.0] - 2026-03-15”Complete replacement of the checkout flow after fourteen months of parallel development. The v2 flow remained live throughout; this release completes the traffic cutover and retires it.
Two launches slipped during this cycle. Priya Nakamura held the November launch when load tests revealed the race condition that became #752. Dani Reyes held the January launch when coupon edge-case testing surfaced #744. Theo Okafor kept v2 stable through both events. The March rollout ran at peak load without incident.
- New checkout flow serving 100% of purchase traffic, replacing the v2 flow in production (#712)
- Session-recovery step that restores abandoned carts when a shopper returns within 24 hours (#734)
- Address validation with real-time flagging of ambiguous entries before payment submission (#741)
- Inventory reservation held for the duration of checkout to prevent concurrent oversells (#756)
- Order confirmation page with full line-item breakdown and estimated delivery window (#763)
- Automated rollback trigger that monitors error rate and reverts the traffic split within 90 seconds if thresholds are breached (#769)
Changed
Section titled “Changed”- Cart state now persists across browser restarts and cross-device sign-ins for authenticated users (#722)
- Saved-card selection no longer triggers a full page reload (#748)
- Checkout session timeout extended from 20 minutes to 60 minutes; expiry now surfaces a warning dialog rather than silently resetting the cart (#758)
- Order number format changed from YYYYMMDD-NNNNN to UUID-v4 [Breaking] - downstream integrations must update before 2026-06-30; see migration guide (#771)
Deprecated
Section titled “Deprecated”- Legacy endpoints at
/checkout/v2/*remain active until 2026-09-30, then removed; migrate to/checkout/v3/*(#780)
Removed
Section titled “Removed”- Anonymous guest checkout via session token (present since 2022); shoppers must sign in or use the new guest account flow (#782)
- Cart abandonment at the payment step - session state was lost on slow or interrupted connections and discarded silently; state is now written to the server on each step (#729)
- Coupon stacking edge case that produced a negative subtotal and allowed zero-cost order submissions (#744)
- Race condition under peak load that caused inventory checks to return stale data and permit oversells (#752)
- Payment gateway timeout shown as a generic error indistinguishable from a declined card - shoppers were retrying cards that had already been declined (#757)
WORK-POLICY CHANGELOG
Section titled “WORK-POLICY CHANGELOG”All notable changes to this policy are documented here. Format follows the Keep a Changelog convention. Versions are dated by their effective date of adoption. The newest version appears at the top.
[3.0.0] - 2026-09-01
Section titled “[3.0.0] - 2026-09-01”This release contains breaking changes to the default schedule for two groups. Read the migration note before the effective date.
- Anchor days: Tuesday and Thursday are designated shared in-office days for all employees at their primary office location (#WP-112)
- Distributed-team supplement: teams spanning three or more time zones may petition for an async-equivalent anchor in place of physical presence on anchor days; protocol defined in the companion scheduling guide (#WP-118)
- Expanded hiring geography: roles that do not require on-site equipment access may now be filled from any location with reasonable time-zone overlap to the team’s anchor days (#WP-119)
- New-hire onboarding protocol: all employees hired after the effective date attend their first two anchor days in person at the primary office; travel reimbursement applies (#WP-120)
Changed
Section titled “Changed”- Default schedule changed from five-day in-office (pre-2023 legacy cohort) or uncoordinated discretionary hybrid (v2.x cohort) to structured hybrid: two shared anchor days in-office per week, remainder at individual and team discretion (#WP-110)
- Breaking change (legacy cohort): employees currently required in-office five days per week move to a four-day schedule; the two anchor days are already satisfied by the existing in-office norm. The fifth day becomes flexible immediately upon the effective date.
- Breaking change (remote cohort): employees currently operating under a fully-remote arrangement approved under v2.x must transition to the structured hybrid schedule by the migration deadline below.
- Non-anchor days are no longer a default in-office expectation; managers may not schedule mandatory in-person events on non-anchor days without 30-day advance notice and People Ops approval (#WP-113)
- Performance evaluation criteria revised to remove implicit presence signals; outcome and delivery metrics are the sole basis for assessment, regardless of where work is performed on non-anchor days (#WP-121)
Deprecated
Section titled “Deprecated”- Per-manager discretion over individual hybrid arrangements is deprecated and will be removed in policy 4.0 (target: 2027-Q2); team-level coordination protocols replace it (#WP-122)
- Existing individual arrangements remain honored until the 4.0 effective date. No action is required before then.
- Resolved the drift pattern from v2.x where “hybrid” in practice meant fully remote for some teams and fully in-office for others within the same department, producing unequal career visibility without a shared rationale (#WP-114)
- Removed the informal expectation that managers should be visibly in-office more days than individual contributors; both groups are subject to the same anchor-day obligation, no more (#WP-116)
- Corrected the v2.1 ambiguity that allowed teams to stack all collaborative events on anchor days and then schedule additional required in-office events on top; anchor-day event load is now capped at a standard working-day length (#WP-117)
[2.1.1] - 2025-03-01
Section titled “[2.1.1] - 2025-03-01”- Capped anchor-day event load after several teams began scheduling back-to-back mandatory sessions across the full day, defeating the purpose of the flexible remainder (#WP-098)
[2.1.0] - 2024-06-15
Section titled “[2.1.0] - 2024-06-15”- Team-level coordination protocol requirement: each team must publish its collaboration norms and any voluntary shared days by 2024-09-01 (#WP-087)
- Addressed the equity gap where in-office employees in some departments reported faster promotion cycles than remote employees on the same team, with no corresponding change in stated evaluation criteria to explain the disparity (#WP-089)
[2.0.0] - 2023-08-01
Section titled “[2.0.0] - 2023-08-01”- Hybrid option introduced: employees may work remotely up to three days per week at manager discretion (#WP-060)
- Home-office equipment stipend: one-time allowance for remote workspace setup (#WP-062)
Changed
Section titled “Changed”- Daily in-office attendance no longer required for individual contributors (#WP-061)
[1.0.0] - 2018-04-01
Section titled “[1.0.0] - 2018-04-01”- Initial remote-work policy: up to one day per week working from home, with manager approval and no carry-over (#WP-001)
Migration note: v2.x to v3.0.0
Section titled “Migration note: v2.x to v3.0.0”Teams currently operating under a fully-remote arrangement approved in v2.x must complete the following steps before 2026-10-01:
- Confirm or designate a primary office location with People Ops.
- Coordinate with team members to agree on which two weekdays will serve as anchor days.
- Submit the team’s anchor-day declaration via the policy portal by 2026-09-15.
Teams may choose any two weekdays. No company-wide alignment is required across all teams; Tuesday-Thursday is the default only for teams that do not submit a declaration.
Employees for whom travel to a physical office is not feasible due to a previously approved full-remote accommodation must contact People Ops by 2026-08-15. No existing accommodations are revoked automatically; each case is reviewed individually before the effective date.
[1.0.0] - 2026-07-02
Section titled “[1.0.0] - 2026-07-02”First public release. Tidemark is now available to all teams.
- Feedback inbox where team members submit or paste customer verbatims collected from any channel (#12)
- CSV import for bulk-loading feedback exported from a ticket tracker or spreadsheet (#18)
- Automated ranking that scores each item by submission volume, recency, and configurable priority weights (#23)
- Ranked roadmap view listing items in descending priority order with vote counts and source tags (#27)
- Read-only shareable roadmap link for distributing the current ranked list to stakeholders outside the workspace (#31)
- Comment threads on each roadmap item for adding team context without switching to another tool (#35)
- Merge tool for consolidating duplicate or near-duplicate feedback items into a single ranked entry (#38)
- Workspace settings panel for managing members, priority weights, and roadmap visibility (#41)
Changed
Section titled “Changed”- Priority weights are now configurable per workspace; teams must set weights in Settings > Ranking before the first ranked view appears - the fixed beta defaults are no longer in effect (#44)
- Public share link format changed from
/share/<integer>to/share/<token>; beta share links are no longer valid and must be regenerated from the Sharing tab (#47)
- Feedback items submitted within the same minute no longer appear twice in the inbox after a page refresh (#51)
- Ranking score now recalculates immediately when two feedback items are merged, rather than waiting for the next scheduled update (#54)
- CSV import no longer truncates feedback text at 500 characters (#57)
Security
Section titled “Security”- Public share links now use a random token instead of a sequential integer ID, preventing enumeration of shared roadmaps (#60)
[2025] - 2025-12-31
Section titled “[2025] - 2025-12-31”Covers the period 2025-01-01 through 2025-12-31. This was a major release. Breaking changes are noted.
Removed
Section titled “Removed”- The Harrow & Wells content platform: three years of co-development, dissolved in October when the partnership ended before the product shipped (#oct-2025)
- Eighteen months of committed work on the distribution layer: scope cut to zero when the partnership dissolved; no archive, no handoff, no clean stop (#oct-2025)
- Weekly calls with Nadia after the March conversation; contact reduced from daily to occasional without a formal decision (#mar-2025)
- The operating assumption that sustained effort and honest partnership guarantee a shared outcome: this turned out to be wrong (#q4-2025)
Changed
Section titled “Changed”- BREAKING: Primary professional identity shifted from “person building something” to “person who was building something”; users of the old narrative should migrate immediately; no rollback path (#nov-2025)
- My role at the studio: from lead builder to retained consultant, effective November; scope and billing both reduced (#nov-2025)
- The relationship with Nadia: still exists, form substantially different; previous form is not recoverable (#mar-2025)
- My threshold for calling a project a professional success: no longer requires a shipped artifact; change forced by circumstances, not by choice (#q4-2025)
- The version of the origin story I tell: two previous versions are now deprecated; current version is shorter and does not end with a launch (#dec-2025)
Deprecated
Section titled “Deprecated”- The habit of holding work grief and personal grief in separate containers: method has proven unsustainable; scheduled for removal, no committed timeline (#q2-2025)
- Measuring personal reliability by whether a project ships: this metric is now considered invalid; replacement not yet determined (#q4-2025)
- The belief that if I worked harder on communication, the partnership outcome would have been different: evidence does not support this; retiring the belief (#q4-2025)
- Sleep: addressed in September by removing caffeine after noon and stopping inbox checks after 9pm; improvement is real, regression is possible (#sep-2025)
- Silence with my brother: a gap that opened in January was partially closed by a short call in July; communication is now functional if not warm (#jul-2025)
- One overdue apology to a former collaborator: drafted many times, sent once in April; the outcome did not match the hope, but the obligation was met (#apr-2025)
- A standing weekly appointment with a therapist, begun in May; attendance consistent (#may-2025)
- A working distinction between what I owe a collaborator and what I owe a project: these turned out not to be the same obligation (#q4-2025)
- Some capacity to sit with an ending that does not carry a lesson: partially installed; behavior change not yet consistent (#dec-2025)
Appears in diff-pairs
Section titled “Appears in diff-pairs”- changelog-entry vs meeting-notes (varies format)