Releases: opsmill/infrahub
Alpha #5.2 - Version 0.11.2
Main Changes
Version 0.11.2 is purely a bugfix release
Migration Guide
Rebuild the demo environment
It's mandatory to completely rebuild your demo environment with the following commands.
invoke demo.destroy demo.build demo.start
invoke demo.load-infra-schema
invoke demo.load-infra-data
All data will be lost, please make sure to backup everything you need before running this command.
The repository https://github.com/opsmill/infrahub-demo-edge has also been updated, it's recommend to pull the latest changes into your fork.
🐛 Bug Fixes
- Backport fix for pytest trying to start for data-only branch by @gmazoyer in #2336
- Backport 2334 - Fix different behaviour for Jinja2 render between API and infrahubctl by @dgarros in #2351
- Backport Python SDK v0.8.1 release by @gmazoyer in #2355
- Prevent page crash when opening create form with input select2step by @bilalabbad in #2338
- Ignore git branch if branch cannot be created by @gmazoyer in #2343
- Fix broken link on main README.md file by @bilalabbad in #2353
- Order branches by created_at in descending order in proposed change creation by @bilalabbad in #2358
- Fix on proposed change, diff schema not loading by @bilalabbad in #2359
- Fix error when updating a node, when select2step value is defined by @bilalabbad in #2362
- Popover automatically reposition itself when overflowing by @bilalabbad in #2367
Python SDK - Version 0.8.1
Python SDK - Version 0.8.0
Alpha #5.1 - Version 0.11.1
Main Changes
Version 0.11.1 is purely a bugfix release
Migration Guide
Rebuild the demo environment
It's mandatory to completely rebuild your demo environment with the following commands.
invoke demo.destroy demo.build demo.start
invoke demo.load-infra-schema
invoke demo.load-infra-data
All data will be lost, please make sure to backup everything you need before running this command.
The repository https://github.com/opsmill/infrahub-demo-edge has been updated to with a change to the Checks
for the internal CI system it's recommend to pull the latest changes into your fork.
Changelog
🐛 Bug Fixes
- fix: git client not properly configured in docker images created by the CI by @wvandeun (#2227)
- Fix slide over offset by @pa-lem (#2245)
- Underline relations of a node with cardinality one by @bilalabbad (#2256)
- Remove underline style on relationship table by @bilalabbad (#2263)
- Fix select 2 steps by @pa-lem (#2258)
- fixes transform_location property of ProposedChangeArtifactDefinition by @wvandeun (#2271)
- Fix invalid check conclusion by @ogenstad (#2287)
- Prevent non initialized relationships from being part of input data by @dgarros (#2281)
Alpha #5 - Version 0.11.0
Main Changes
New test framework for user defined checks
Infrahub now supports running unittests defined in external repositories as part of the CI pipeline within a proposed change.
Read only repositories
This is a new type of Infrahub Repository that allows following a single external commit, branch, or tag. A read-only repository will never push changes to the associated external Git repository and will only pull updates when requested via a GraphQL mutation. See the documentation for more details.
Object and menu search
The frontend has a new search feature that allows you to search for any object in the database, the search bar is placed in the header of the application, at the top. The sidebar menu also has a search bar to help you quickly retrieve a menu item and allows you to navigate across a large schema.
Database backup and restore
New CLI commands to backup and restore a Neo4j Infrahub database. See the documentation for more details.
Initial implementation of logging framework to track the status of background tasks
This first iteration allows for the possibility to track webhooks so that users can use the GUI to determine if all of the webhooks are working as expected. In future versions we include other components such as the syncing of repositories within this framework.
Additional controls for schema constraints
This version brings stricter control when merging branches to disallow the merging of branches if there are schema violations. It adds validations for order_by, default_filter, display_labels settings.
Initial database migrations
For now it is still required to rebuild the database between Infrahub versions as described in the migration guide below. In this version we took the first step to perform these migrations within Infrahub to allow for a simpler upgrade in the future.
Landing page
A new landing page is available to get more informations about Infrahub and its integrations. Links to the documentation are available for the main features and some help is available to get started with the product.
Renaming of Jinja2 Transforms
The new name for Jinja2 rendered content is Jinja2 Transforms. The previous name "rfile" will no longer be used.
Performance improvements
The overall performance both within the frontend as well as the backend has been significantly improved. The interface should feel a lot more responsive and the backend will respond faster than seen in previous versions.
This also includes performance improvements within the CI pipelines of a proposed change to limit the checks that are required to run. For artifact definitions Infrahub now evaluates the need to regenerate artifacts based on the diff between two branches and doesn't try to regenerate artifacts if it is clear that the operation isn't required.
Improvements to documentation
The documentation framework has been completely replaced which will make it easier to find information from within the product.
Various other improvements has been done throughout the documentation:
- Readability cleanup
- Add documentation about the format and required fields for .infrahub.yml files
- Add topic and guide for repositories
Migration Guide
Rebuild the demo environment
It's mandatory to completely rebuild your demo environment with the following commands.
invoke demo.destroy demo.build demo.start
invoke demo.load-infra-schema
invoke demo.load-infra-data
All data will be lost, please make sure to backup everything you need before running this command.
The repository https://github.com/opsmill/infrahub-demo-edge has been updated to with a change to the Checks
for the internal CI system it's recommend to pull the latest changes into your fork.
Changelog
🚀 Features
- Integrate tests into proposed change CI pipeline @gmazoyer (#2119)
- full database export and import @ajtmccarty (#2151)
- Add
--out
option to save output of some infrahubctl commands @gmazoyer (#2199) - Tasks in object details views @pa-lem (#2186)
- Implement hierarchical location in the demo schema @wvandeun (#2165)
- feat(backend): add more graphql prometheus metrics @fatih-acar (#2179)
- Tasks Management views @pa-lem (#2175)
- Load select options when opening the input @pa-lem (#2111)
- Migrate Infrahub Docs to Docusaurus @bilalabbad (#2142)
- Add partial_match in search @pa-lem (#2116)
- Refactor GraphQL schema generation to work without the registry @dgarros (#2112)
- new component to validate uniqueness between branches @ajtmccarty (#2029)
- Add min/max_count to RelationshipSchema (local branch) @dgarros (#2031)
- added homepage with card to help user get started @bilalabbad (#2126)
- partial_match support for GraphQL filters @ajtmccarty (#2106)
- Add standard Task node and mutation to create it @ogenstad (#2035)
- [FRONT] Search bar for sidebar menu @bilalabbad (#2068)
- Add Validation before updating Schema @dgarros (#2061)
- Building CoreGraphQLQueryGroup from SDK runs @BeArchiTek (#2028)
- Clean up the header layout and align the logo with it @bilalabbad (#2062)
- [FRONT] Infrahub Logo is embedded in a hyperlink @bilalabbad (#2060)
- update search + header + menu ui @pa-lem (#2043)
- validators for
order_by
,default_filter
,display_labels
in schema @ajtmccarty (#2018) - Search bar in header to search any objects @pa-lem (#2020)
- Initial implementation of Database migrations for the Internal Graph @dgarros (#1989)
- Display children of hierarchical node in details view tab @bilalabbad (#2022)
- Be able to use upsert from node.save in SDK @BeArchiTek (#2005)
- Enums in GraphQL API @ajtmccarty (#1730)
- Improve performance of load schema by implementing a more granular loader @dgarros (#1891)
🐛 Bug Fixes
- Add method to validate the number of members per relationship on the peer side before creating or updating a Node @dgarros (#2210)
- Fix reuse of database transaction for specialized mutations @ogenstad (#2218)
- [FIX][FRONT] consistent height row in detailed view @bilalabbad (#2169)
- Reset the timestamp before and after a mutation @dgarros (#2153)
- Fix relationships columns and queries @pa-lem (#2148)
- Fix relationships columns and code editor default value @pa-lem (#2141)
- Force regeneration of the GraphQL schema when we update the schema @dgarros (#2137)
- fix(core): avoid calling duplicate in Node/SchemaManager @fatih-acar (#2124)
- Fixes checkbox attribute type @wvandeun (#2130)
- Trim spaces before requesting search @pa-lem (#2109)
- Make transforms use the same input data format @gmazoyer (#2077)
- Fix default value for parent input during hierarchical node editing @bilalabbad (#2017)
- Revert incremental schema update from 1891 @dgarros (#2009)
🧰 Maintenance
- Refactor pipeline and enable selective artifact generation @ogenstad (#2185)
- Minor test related changes @dgarros (#2202)
- Query checks message @pa-lem (#2190)
- More docs cleanup @petercrocker (#2166)
- Move logic to connect / disconnect to RabbitMQ to adapter @ogenstad (#2189)
- Refactor 'infrahub events' to use RabbitMQ adapter @ogenstad (#2181)
- docs: add hardware requirements topic @wvandeun (#2182)
- Refactor RPC responses @dgarros (#2173)
- Add repository information to pipeline messages @ogenstad (#2174)
- Move Diff class out of branch.py, add BranchMerger class @dgarros (#2170)
- Add ability to mask passwords on events @ogenstad (#2167)
- Fix Task response edges should be an array @ogenstad (#2164)
- Remove unused CoreProposedChangeRefreshArtifacts mutation @ogenstad (#2160)
- Refactor initialization of CI pipeline @ogenstad (#2140)
- remove gitpod files and docs cleanup @petercrocker (#2149)
- chore(tests): add new benchmarks for read/get paths @fatih-acar (#2122)
- Remove deprecated checks and transforms definition @dgarros (#2120)
- Fix typehints for StandardNode Branch @ogenstad (#2103)
- Add return code for function signatures Permission checkers @ogenstad (#2104)
- Fix typing issues on GraphQL query for DiffSummary and Internal query @ogenstad (#2099)
- Remove confusing account relationship for repositories @ogenstad (#2097)
- Simplify initialization of repositories within message operations @ogenstad (#2086)
- Remove usage of apoc procedures in the scale testing framerwork to gather database metrics @wvandeun (#2096)
- fix(core): do not duplicate schema on read-only paths @fatih-acar (#2087)
- feat(ci): add backend benchmark step @fatih-acar (#2024)
- Replace registry.get_schema with registry.schema.get @dgarros (#2088)
- Remove unused code @ogenstad (#2085)
- Readme files cleanup @petercrocker (#2069)
- Add flag to SchemaBranch.get to return a schema without duplicating it @dgarros (#2063)
- Upgrade Neo4j -> 5.16 & Memgraph -> 2.14 @ogenstad (#2016)
- Add .infrahub.yml repository configuration file format documentation @wvandeun (#2047)
- Convert Override class to dataclass @ogenstad (#2051)
- Remove tutorial e2e tests from cypress and update screenshots @pa-lem (#2048)
- Fix
BaseAttributeInput
import for type checking @gmazoyer (#2041) - Fix format of markdown file in tests/benchmark and extend markdownlint to all MD files @dgarros (#2030)
- Leverage Pydantic model_copy to duplicate NodeSchema objects @dgarros (#2019)
- Rename
RFile
toJinja2Transform
in SDK test framework @gmazoyer (#2026) - repository topic and guide @ajtmccarty (#1987)
- Fix remaining instances of using default_branch_name Optional[str] @ogenstad (#2012)
- Remove GroupSchema from the Schema @dgarros (#1990)
- Correct typo in base schema @BeArchiTek (#1975)
- Rename RFile -> TransformJinja2 @ogenstad (#1952)
- Rename neo4j specific config options @gmazoyer (#1963)
Python SDK - Version 0.7.0
Changelog
🚀 Features
- New component to validate uniqueness between branches @ajtmccarty (#2029)
- Add standard Task node and mutation to create it @ogenstad (#2035)
- Add
--out
option to save output of some infrahubctl commands @gmazoyer (#2199)
🐛 Bug Fixes
- Fix
fetch
method not using branch forRelatedNodeSync
andRelationshipManagerSync
@wvandeun (#2176) - Make transforms use the same input data format @gmazoyer (#2077)
🧰 Maintenance
Python SDK - Version 0.6.0
Changelog
🚀 Features
- Building CoreGraphQLQueryGroup from SDK runs @BeArchiTek (#2028)
- Support integration tests in test framework @gmazoyer (#2036)
- Support for using upsert from
node.save()
@BeArchiTek (#2005) - Support for read-only repositories @ajtmccarty (#1794)
🐛 Bug Fixes
- Fixes batch exception issue with async batch @BeArchiTek (#2039)
- Fix
_strip_unmodified_dict()
issue with parent @BeArchiTek (#2058) - Fix GraphQL relationship mutation of kind GROUP and COMPONENT @wvandeun (#2023)
🧰 Maintenance
- Fix type hint for base client config parameter @gmazoyer (#2052)
- Set node ID in
_generate_input_data()
@BeArchiTek (#2002 and #2049) - Remove GroupSchema from the Schema @dgarros (#1990)
- Rename
RFile
toJinja2Transform
@ogenstad @gmazoyer (#1952 and #2026) - Refactor clients
.filters()
functions @gmazoyer (#1999) - Remove public queries & mutations for namespace Internal @ogenstad (#1950)
- Update the requirements for Pendulum @dgarros (#2073)
Alpha #4 - Version 0.10.1
Main Changes
Frontend improvements
- The form used in the branch creation is updated and improved
- The fields are now sorted and mixed with relationships
- The menu is now fetched only if needed
- The queries for the object forms (for creation and edition) are greatly improved to reduce the loading time
- The attributes displayed in the details view are updated to display all kind of attribute
GraphQl and API
- The query performance to count the peers is now improved to reduce loading time
Codespace
- The documentation now contains more informations about how to start Infrahub in Codespace
Env variables
- Environment variables from Infrahub are now parsed first
Migration Guide
Rebuild the demo environment
It's mandatory to completely rebuild your demo environment with the following commands.
invoke demo.destroy demo.build demo.start
invoke demo.load-infra-schema
invoke demo.load-infra-data
All data will be lost, please make sure to backup everything you need before running this command.
The repository https://github.com/opsmill/infrahub-demo-edge has been updated to with a change to the Checks
for the internal CI system it's recommend to pull the latest changes into your fork.
Changelog
🐛 Bug Fixes
- Lookup
INFRAHUB_
env vars first (#1974) @gmazoyer (#1984) - [FIX] After updating a proposed change, the page data is refreshed @bilalabbad (#1979)
- Fix: proposed change edit button is enabled only when state is open or closed @bilalabbad (#1977)
- Fix slow GraphQL query when counting the number of peers in a relationship @dgarros (#1960)
- Adds JSON in attributes columns for details view + update schema doc @pa-lem (#1947)
🧰 Maintenance
- Branch creation uses the Form component + fixes disabled datepicker @pa-lem (#1973)
- Update the way we sort the forms fields with order weight property @pa-lem (#1980)
- Update Readme, Add links to doc and codespace @dgarros (#1954)
- Fetch menu only if needed @pa-lem (#1968)
- Add tools to reload schema in background + fix schema reload when adding an option @pa-lem (#1959)
- Form loading time improvements @pa-lem (#1966)
- Codespace : Add git pull to postCreate script @dgarros (#1919)
Alpha #4 - Version 0.10.0
Main Changes
Hierarchical mode
It's now possible to organize some nodes of similar types in a hierarchy or a tree, to enable additional capabilities.
As an example:
Groups
can be organized in a hierarchy by default which makes it possible to query the members of all sub-groups at once.- Assuming we have defined a
Person
object connected to aCity
object, which itself is part of a hierarchy ofLocation
(Region
>Country
>City
) , it will be possible to query allPerson
perCountry
or perRegion
natively without having a direct relationship betweenPerson
andCountry
New Infrahub test framework
As a platform, Infrahub provides multiple ways for a user to extend the capabilities of the platform by providing different type of resources.
Developing and maintaining these resources over time can be time consuming and challenging, this is why we did our best to provide the right tools and helpers to make it as easy as possible for someone to create and maintain these resources.
The framework is based on Pytest and introduces a new pytest plugin pytest-infrahub
(part of the SDK), in this first version the Framework support unit tests for RFile and PythonTransform. IN the next release we'll add support for all type of resources and sanity and integration tests as well.
Schema
Support both Node-level and Generic-level uniqueness for attributes
Now, multiple classes can inherit from the same generic, with attributes that are unique across all sub-classes.
API and GraphQL
Access the version of infrahub
Now, you can query the Infrahub version directly through our GraphQL API:
query {
InfrahubInfo {
version
}
}
Integration and deployment
Add support for webhooks
You are now able to configure a new webhook and track the execution of all webhooks via the frontend and via GraphQL.
Please note that the current version supports only POST requests and does not yet provide the ability to send a list of headers or specify events to subscribe to.
New codespace config file to launch a barbone version of Infrahub
Previously, the codespace configuration we had in automatically launching Infrahub and loading the demo schema & data.
We added a new configuration file that will start a barebone version of infrahub by default. You will be able to configuration files under /.devcontainer
folder.
UX improvements
Infrahub is now faster than ever! We've optimized the frontend, bid farewell to unnecessary reloads and loaders, and introduced features for a smoother user experience:
- List rows can be opened in a new tab
- Browser tab titles indicate your current view for easy navigation.
- Display the version of infrahub into the UI
- On branch detail view, "contribute" button was renamed to "Proposed change"
New UI components
form
- List Input: A new input specifically designed for attributes of type
List
. - Color Picker: Introducing a color picker input for attributes of type
Color
.
list view
- Display attributes of kind
Color
Overall improvements to documentation
Explore our upgraded docs now! 📚
Migration Guide
Rebuild the demo environment
It's mandatory to completely rebuild your demo environment with the following commands.
invoke demo.destroy demo.build demo.start
invoke demo.load-infra-schema
invoke demo.load-infra-data
All data will be lost, please make sure to backup everything you need before running this command.
The repository https://github.com/opsmill/infrahub-demo-edge has been updated to with a change to the Checks
for the internal CI system it's recommend to pull the latest changes into your fork.
🚀 Features
- List input component by @pa-lem in (#1782)
- Allow user to open table row in a new tab by @bilalabbad in (#1787)
- when deleting branch, page does not reload by @bilalabbad in (#1792)
- Tab titles by @pa-lem in (#1801)
- App version display by @pa-lem in (#1806)
- Update docs by @BeArchiTek in (#1773)
- Add support for webhooks by @ogenstad in (#1784)
- Add section in schema docs about menu placement and icon by @dgarros in (#1812)
- Generic-level uniqueness by @ajtmccarty in (#1823)
- Add initial version of the test framework by @dgarros in (#1818)
- Adds a new color picker for color inputs by @pa-lem in (#1834)
- Add InfrahubInfo graphql query by @gmazoyer in (#1838)
- Add GraphQLQueryGroup to track all nodes associated with a given GraphQLQuery by @dgarros in (#1742)
- Development setup doc by @gmazoyer in (#1798)
- Add creating an artifact guide to documentation by @wvandeun in (#1852)
- Added documentation and guideline for frontend setup and testing @bilalabbad (#1856)
🐛 Bug Fixes
- fix commenting on data diff by @bilalabbad in (#1749)
- when switching branch, fixed object paginated list from blinking by @bilalabbad in (#1752)
- Branches options and avatar loader by @pa-lem in (#1760)
- Textarea and list display in details view by @pa-lem in (#1764)
- display Generics with cardinality one in object details view by @bilalabbad in (#1765)
- Fix dropdown scroll preventing click on delete button + css cleaning by @bilalabbad in (#1774)
- Dropdown data in relationships view by @pa-lem in (#1805)
- Address conflicts with attribute or relationship names by @gmazoyer in (#1837)
- Adds generics in the schema kind name mapping to fix tab titles by @pa-lem in (#1867)
- Added documentation and guideline for frontend setup and testing by @bilalabbad in (#1856)
🧰 Maintenance
- Reenable artefact test and use InfrahubService instead of rpcclient mapping @ogenstad (#1895)
- Refreshing of JWT access tokens is transparent for users by @bilalabbad in (#1753)
- Remove mentions of isort and black by @ogenstad in (#1761)
- Set message meta to not be optional by @ogenstad in (#1757)
- Delete unused query NodeListGetLocalAttributeValueQuery by @dgarros in (#1768)
- Use memgraph as the default database in Codespace by @dgarros in (#1769)
- Corrections to typehints in server code by @ogenstad in (#1763)
- Split devcontainer by @BeArchiTek in (#1781)
- Move infrahub devonctainer by @BeArchiTek in (#1783)
- Replace default logger with structlog and various cleanup by @dgarros in (#1771)
- Removed Useless Handlebars CDN Script from index.html by @bilalabbad in (#1793)
- Move infrahubctl into SDK folder by @ogenstad in (#1762)
- Added e2e test for alert when there is a request failing by @bilalabbad in (#1775)
- Components folder update by @pa-lem in (#1785)
- Playwright timeout update by @pa-lem in (#1795)
- Increased timeout to fix flakiness on E2E test by @bilalabbad in (#1789)
- Run CI E2E tests only on Memgraph by @bilalabbad in (#1800)
- Fixes links in object details and relationships views by @pa-lem in (#1804)
- Add rich's
inspect
for debug by @gmazoyer in (#1803) - Add a timeout of 1s when running demo.destroy to speed up containers tear down by @dgarros in (#1808)
- Comment reset after submit in proposed changes by @pa-lem in (#1811)
- Replace RabbitMQ publish call from InfrahubRpcClient by @ogenstad in (#1816)
- Proposed changes details refetch by @pa-lem in (#1815)
- Rename contribute to Propose change by @pa-lem in (#1820)
- Move RabbitMQ subscription logic away from git-agent CLI by @ogenstad in (#1821)
- Hide BuiltinRole and BuiltinStatus in menu by @BeArchiTek in (#1826)
- Remove AbstractExchange from InfrahubRpcClient by @ogenstad in (#1824)
- Added E2E test with playwright on doc's getting started by @bilalabbad in (#1777)
- Add markdown lint by @BeArchiTek in (#1828)
- Moved Playwright into /tests/e2e folder by @bilalabbad in (#1845)
- Remove aio_pika.abc.AbstractMessage from InfrahubMessage by @ogenstad in (#1841)
- Add unittest for openapi spec generation by @ogenstad in (#1850)
- Groups views use the main component for list and details by @pa-lem in (#1859)
- Convert InfrahubMessages to Pydantic v2 by @ogenstad in (#1888)
- Add InfrahubKinds module defining core model kind constants by @wvandeun in (#1809)
- Password is optional when editing an account by @pa-lem in (#1870)
- Add custom webhooks & add signatures to standard webhooks by @ogenstad in (#1849)
- Fixed React fast refresh by @bilalabbad in (#1873)
- Add scale testing framework by @wvandeun in (#1840)
- Add support for Hierarchical Model by @dgarros in (#1817)
- Add build step when we start a new codespace by @dgarros in (#1874)
- Update tutorial documentation by @fatih-acar in (#1876)
- SDK test framework improvements by @gmazoyer in (#1858)
- Fix generation of artifacts within proposed changes by @ogenstad in (#1886)
- Fix idempotency issue for Dropdown choices by @dgarros in (#1880)
- Reenable artefact test and use InfrahubService instead of rpcclient mapping by @ogenstad in (#1895)
- Update jinja2 & gitpython by @ogenstad in (#1893)
- Get the right columns for both attributes and relationships in the different views (#1857)
Python SDK - Version 0.5.0
Changelog
🚀 Features
- SDK test framework improvements @gmazoyer (#1858)
- Add initial version of the test framework @dgarros (#1818)
- Add Validator and getters methods to InfrahubRepositoryConfig @dgarros (#1744)
🧰 Maintenance
- make branch optional for NodeNotFound error @ajtmccarty (#1887)
- Update jinja2 & gitpython @ogenstad (#1893)
- Add markdown lint @BeArchiTek (#1828)
- Move infrahubctl into SDK folder @ogenstad (#1762)