Skip to content

Releases: clintjedwards/gofer

v0.9.1

26 Jan 21:48
f5a5e06
Compare
Choose a tag to compare

v0.9.1 (January 26, 2025)

BUG FIXES:

  • object store: Resolve incorrect logic for object overwrites. Previously, we were checking for conflicts before inserting into our main database when putting into an object store. This was incorrect because a user can pass force to overwrite an object. The logic here should be that we still attempt to enter it into the database (because the user should be able to pass force on an object not in the store yet), but when that fails, we don't complain. [f19e88c]

v0.9.0

26 Jan 20:20
df4175d
Compare
Choose a tag to compare

v0.9.0 (January 26, 2025)

FEATURES:

  • Streaming Upload/Download: The object store now supports streaming, allowing very large files (up to 50GB) to be handled without memory issues. [aa47933]
  • Bash Script Execution: Added functionality to use bash in the script SDK function, improving script execution capabilities. [c6b9825]
  • Dark Mode: Gofer frontend now includes a dark mode switcher to improve user interface options. [c80720e]
  • Current Time Display: The current time is now displayed on the Gofer frontend. [b2d75a6]
  • Always Pull Images: New SDK field for tasks added to ensure containers always pull the latest image from the repository. [15ebe7e]

IMPROVEMENTS:

  • Terminal Size Handling: Removed unnecessary dependency on termiom for determining terminal size. [3fa9e2c]
  • Dropshot Update: Upgraded dropshot from version 0.11 to 0.15 for enhanced features. [50b109e]
  • SDK Ergonomics: Improved SDKs to make them more user-friendly, including changes to variable handling and scripting methods. [24aebe2]
  • Frontend Table Structure: Updated Gofer frontend to utilize a table layout instead of div blocks for better organization and future feature support. [601e235]

BUG FIXES:

  • Stringify Logic for CLI Object Commands: Resolved an issue with handling large byte sizes during buffering. [df4175d]
  • GitHub Extension PRs: Pull requests now properly include branches instead of using ref nomenclature. [4126873]
  • Doc Test Bugs in Config SDK: Fixed documentation test errors within the config SDK. [1f47d95]
  • Terminal Size Detection for Logs: Enhanced log length handling by adapting to terminal window sizes. [4706a85]
  • WebSocket Error for Database Not Found: Ensured correct WebSocket error is returned for missing databases in task logs. [1a50484]
  • Frontend Table Width: Improved the sizing of tables to be more responsive to different screen sizes. [d6a1368]
  • Rust SDK Variable Config: Fixed a prefixing error for task variables in the Rust SDK. [7065d78]
  • SDK List Pipeline Subscriptions Errors: Added error messages for potential issues in the SDK ListPipelineSubscriptions method. [e3d45d9]

v0.8.4

31 Dec 06:11
7fb607b
Compare
Choose a tag to compare

v0.8.4 (December 31, 2024)

FEATURES:

  • Add context Command: Introduced a context command in the Gofer CLI to help users understand their current environment context without checking configuration files. [565ade1]
  • Exact Time Display: CLI now shows exact timestamps in 'detail' configuration settings, enhancing precision for users. [b132306]

BUG FIXES:

  • Anonymous Access: Resolved issue allowing anonymous users to access runs as intended. [7be46d5]
  • Run Shepard Deadlock: Fixed a thread-blocking deadlock within the run_shepard function, especially noticeable on single-core systems. [3952710]
  • Debug Statements: Added more detailed debug statements for the 'gofer run' command to improve error messaging. [6e84382]

IMPROVEMENTS:

v0.8.3

24 Dec 22:27
e2a723e
Compare
Choose a tag to compare

v0.8.3 (December 24, 2024)

IMPROVEMENTS:

  • Documentation Update: Clarification for 'stunted extensibility' [e7a561b]
  • Documentation Update: Update Readme with Why? [442ea7a]

BUG FIXES:

  • ID Validation: Fix inconsistent checking of IDs between underscore and hyphens. User-created IDs are now validated as alphanumeric strings with hyphens as the only special characters allowed. This aligns with common web conventions and resolves issues from the previous implementation. [4ce974e]

FEATURES:

  • Dogfood Directory: Add initial functionality for Gofer to use Gofer itself, aiding in automatic repo build and maintenance within a container. Further UX design is in progress. [682c82f]

v0.8.2

28 Nov 00:24
fda843f
Compare
Choose a tag to compare

v0.8.2 (November 27, 2024)

FEATURES:

  • Demo Mode: Gofer's frontend now shows default namespace pipelines and runs to unauthenticated users.

IMPROVEMENTS:

  • Github Extension now works with checks: The Github extension now works with the checks API, meaning that the
    status of pipeline runs can be reported back to things like PRs.

v0.8.1

15 Oct 20:08
c09a601
Compare
Choose a tag to compare

v0.8.1 (October 15, 2024)

IMPROVEMENTS:

  • Run recovery is back: Restored the ability for Gofer to recover runs after a crash.

BUG FIXES:

  • frontend: Fixed undefined kind parameter in run listings.

v0.8.0

08 Oct 22:05
6265dc1
Compare
Choose a tag to compare

v0.8.0 (October 8, 2024)

FEATURES:

  • Extension Debug Endpoint: Added a debug endpoint for extensions to facilitate troubleshooting. This feature is
    now available to admin users and includes an SDK update for easier integration.
  • RBAC Permissioning: Implemented a Role-Based Access Control (RBAC) system to provide finer-grained permissions,
    replacing the old management vs client system. This includes adding a roles subcommand to the CLI and updating tokens
    to support multiple roles.
  • Extension Subscription Endpoint: Added a subscription list endpoint for extensions, allowing them to query
    which entities are subscribed to them, helping in state recovery and minimizing the thundering herd problem.

IMPROVEMENTS:

  • Object Store for Extensions: Extensions can now utilize the Gofer object store as their database,
    improving reliability and reducing the need for Gofer to manage extension state directly.
  • Support for X-Forwarded-For Header: Added support for the X-Forwarded-For header to enhance client IP detection in proxied environments.

BUG FIXES:

  • Extension SDK Debug Struct: Fixed a bug in the extension SDK that caused a string to be sent instead of the
    proper debug struct, which prevented the debug endpoint from functioning correctly.
  • SQLite Write Race Conditions: Fixed multiple race conditions related to SQLite write locks. Changes include
    updating SQLite transaction handling to mimic BEGIN IMMEDIATE by immediately writing to a dummy table to acquire a lock early.

v0.7.3

21 Aug 02:17
ba0b2b5
Compare
Choose a tag to compare

v0.7.3 (August 20, 2024)

FEATURES:

  • Deployments in CLI: Added functionality to Gofer CLI for listing and getting deployments.

IMPROVEMENTS:

  • Event-Driven Task Management: Refactored Shepard to fully commit to an event-driven model for task execution,
    replacing the previous mixed approach. This change simplifies recovery and cancellation of tasks by leveraging
    Gofer’s event bus.

  • Token-Based Initiator Identification: Refactored the initiator field within a run to be populated by the
    caller's token data, enhancing security by removing reliance on caller input.

  • Usernames in Tokens: Updated tokens to include a username field, allowing for more human-readable
    identification and improving the frontend experience by clearly displaying the user responsible for actions.

  • Gofer Frontend Improvement: Enhanced the Gofer frontend with a basic interface to ensure users can
    confirm the service is operational, providing a simple but effective user experience.

v0.7.2

31 Jul 07:47
84d1685
Compare
Choose a tag to compare

v0.7.2 (July 31, 2024)

Bug Fixes:

  • Extensions now correctly pass registration configurations.

v0.7.1

27 Jul 09:13
c90bf50
Compare
Choose a tag to compare

v0.7.1 (July 27, 2024)

FEATURES:

  • No new features in this release

IMPROVEMENTS:

  • SDK Extension Tooling: Updated the SDK extension tooling to reflect changes in the golang SDK. Previously, a differentiator was appended to extension variables to avoid conflicts, which is no longer necessary.

BUG FIXES:

  • External Extensions: Various touch-ups and improvements as we prepare to activate the GitHub extension.
  • Namespace Regex Matching: Fixed an issue where namespace regex matching for authentication was broken. This previously caused the default admin bootstrap token to only access public routes.
  • Secret Store Encryption Keys: Added a check to ensure that the encryption keys for the default secret store (SQLite) are at least 32 characters, preventing runtime issues.
  • CLI Whoami Panic: Resolved a subtraction overflow error in the whoami command due to incorrect humanized time calculation.
  • Extension Key Cleanup: Extensions now automatically clean up their keys on restart. Fixed a bug where key_id was not being persisted correctly, causing extensions to create new tokens on each restart.
  • HTML Folder .gitkeep: Reinstated the .gitkeep file for the html folder to ensure the docs build process does not remove it, preventing issues with freshly cloned repos.
  • Formatting in Config Reference: Fixed a formatting error in the config reference documentation and improved the run-docs command to restore the .gitkeep file when the docs server is interrupted.

DOCUMENTATION:

  • Todo Refactor: Refactored the todo documentation.
  • Config Reference: Fixed formatting errors and improved the run-docs command.