Releases: joyfullservice/msaccess-vcs-addin
v4.0.34 Major Update
After a couple years in the making, we are rolling out version 4 as a general release! This is a major update incorporating hundreds of enhancements, bug fixes, and performance improvements as the dev
branch was merged into main
. Below are some of the major highlights in moving from version 3.x to version 4.x:
- Ribbon Toolbar interface - So much more intuitive and easier to use for beginners and daily users alike.
- XML Formatting - Table definitions are exported in XML format, and XSLT transformation provides an improved and consistent output.
- Split VBA code from designer layouts - VBA code from forms and reports can now be managed separately from the designer layouts, providing easier collaboration between developers and less "noise" when reviewing code changes.
- Merge Support - Merge modified source files into an existing database without having to rebuild the entire database from scratch.
- SQL Formatting - Automatically add formatting and indenting to Access SQL queries to improve readability and consistency.
- Improved Indexing - Reworked the change detection process to use an internal index file to track changes to source files and database components. Change dates are stored as UTC, allowing better collaboration for remote developers.
- Performance Improvements - Source export and change detection is faster than ever, and detailed performance reports are logged with each operation.
- External Databases - Export SQL object definition files for external database components such as SQL Server tables. For those that don't use other VCS tools to manage changes to SQL objects, this provides a really simple way to track those changes within your Access project repository.
- Conflict Resolution - Warn before overwriting unsaved changes in database objects, or source files that have changed since the last export.
If you encounter a bug or problem, please feel free to open an issue. Thanks again to all those that contributed towards the version 4 release over the past couple of years! My hope is that version 4 will empower many Access developers with even greater efficiency as they tap into the benefits of using version control.
v4.0.30-beta (dev branch)
IMPORTANT - Work in Progress
This version of the add-in was built from the dev
branch, and contains the latest features currently under development. You are welcome to use this for testing or production use, depending on your needs. If you decide to use the dev version in production, please do your own testing to ensure you are getting the desired output for exported source and builds.
If you are building the dev
branch from source, you will need version 4.* or newer to successfully build the add-in. (You can build v3 with v4, but you can't build v4 with v3.) In other words, you need this beta version to build the dev
branch for the first time.
Features / Fixes (Partial List)
- Improve support for exporting table data from large tables as XML. #474, #389
- Refactor change detection for object represented by multiple source files. a767252, 2b37bdb, fc59ae1, dc8947e, #473, #471, #472
- Improve handling of orphaned files/objects during export and merge operations. #471
- Add documentation for Merge Build functionality. #471, #81
- Fix break mode option after loading options from file. 7a4a44f
- Check VCS version before export and build to avoid unexpected results. #465
- Add support for detecting changes to, and setting instancing for class modules. 3f1c31d, dfaf5d9, 65f3499
- Add default
.git
files if in repository root. 2bf3047 - Log warning for UNC path access errors. Thanks, @ollypsilon! #461
- Improve identification of system tables. Thanks, @ollypsilon! #462
- Fix sorting of operation names with leading spaces. Thanks, @Tanarri! #463
- Support unquoted paths in rare SQL query syntax. Thanks, @bclothier! #447
- Add support for Access
!
boundary character in SQL formatting. #457 - Change index file to always use UTC dates in standardized ISO format. Thanks, @hecon5! #454
- Ensure that the ribbon is active when installing or activating add-in. Thanks, @alanv73! #451
- Refactor Sanitize module to class to aid future development. 8e70ad2
- Improve character support in performance timing labels. Thanks, @Tanarri! 0beaee5, #450
- Add functionality to split form layout definition from the VBA source code. (Many commits related to this.)
- Improve function to log unhandled errors. Thanks, @hecon5!
- Misc. bug fixes submitted by @bclothier for .git files, XML error handling, SQL formatting and more... Thanks, @bclothier! #448
Known Issues
- Automatic export on save is currently experimental, and potentially has issues with older versions of Microsoft Access.
See commit history for details on other changes not listed here.
v4.0.25-beta (dev branch)
IMPORTANT - Work in Progress
This version of the add-in was built from the dev
branch, and contains the latest features currently under development. You are welcome to use this for testing or production use, depending on your needs. If you decide to use the dev version in production, please do your own testing to ensure you are getting the desired output for exported source and builds.
If you are building the dev
branch from source, you will need version 4.* or newer to successfully build the add-in. (You can build v3 with v4, but you can't build v4 with v3.) In other words, you need this beta version to build the dev
branch for the first time.
Features / Fixes (Partial List)
- Rename sanitize levels for greater clarity on intended usage. From "Basic, Aggressive, and Advanced" to "Minimal, Standard and Extended". 964016c
- Fix export of VBE forms, and refactor to use the json file as the primary file. 8ad9074
- Verify testing database with latest VCS updates. c864659
- Add support for tokenizing Microsoft Access date literals. Thanks, @mwolfe02!
- Fix a few issues in the performance class. Thanks, @hecon5! #441
- Implement wrapping for long names in performance reports. 1cda774
- Adjust SQL Formatter for some dialect-specific requirements. Thanks, @josef-poetzl! #442
- Add position check in SQL Formatter to avoid endless loop. cff400b
- Update API examples to demonstrate a build from source. 62fde81
- Add option to pass a source file folder path to the Build API. Inspired by @StolpiJanus 6cdac0c
Known Issues
- Merge build functionality has had limited testing in real-world applications. Feel free to use it, but recognize that there may be some bugs that pop up along the way. (Feel free to create issues to address any problems you find.)
- Automatic export on save is currently experimental, and potentially has issues with older versions of Microsoft Access.
See commit history for details on other changes not listed here.
v4.0.21-beta (dev branch)
IMPORTANT - Work in Progress
This version of the add-in was built from the dev
branch, and contains the latest features currently under development. You are welcome to use this for testing or production use, depending on your needs. If you decide to use the dev version in production, please do your own testing to ensure you are getting the desired output for exported source and builds.
If you are building the dev
branch from source, you will need version 4.* or newer to successfully build the add-in. (You can build v3 with v4, but you can't build v4 with v3.) In other words, you need this beta version to build the dev
branch for the first time.
PLEASE NOTE: When exporting your project for the first time after this update, you will see a large number of changed files. This is expected with a number of enhancements to the sanitizing functions and SQL formatting for Microsoft Access queries.
Major Changes / Features
-
Add ability to export external database schemas (SQL, MySQL). #415
If you are using a Microsoft SQL Server or MySQL as a back end to your database, and don't already have a strategy for managing database schema changes, this is a very simple way to get started. It is extremely performant, adding very little lag to the export process, but ensures that you have a current copy of the database schema in version control. -
Implement high-performance SQL formatter. #426
This has been on my to-do list for a long time... Microsoft Access queries are now saved in .sql files with indenting and line breaks to improve readability and to provide a better source file for version control. The formatter is (my own) VBA port of the php formatter used in the well-known Doctrine library. I made a few changes to improve performance and readability for VBA, but followed the same general logic from this battle-tested php project.
Features / Fixes (Partial List)
- Sanitize the
ColumnInfo
property. #412 Thanks, @bclothier! - Remove padding on blank lines in VBA code. #413
- Fix JSON parsing of linefeed characters. 42cbbde
- Preserve whitespace in XML values. (Potentially resolved?) #422
- Sanitize
WebImagePadding
values. #423 Thanks, @hecon5! - Improve stability of merge build process. c7f9d1e
- Fix issue with export of large theme files. #431 Thanks, @dlangenafa!
Known Issues
- Merge build functionality has had limited testing in real-world applications. Feel free to use it, but recognize that there may be some bugs that pop up along the way. (Feel free to create issues to address any problems you find.)
- Automatic export on save is currently experimental, and potentially has issues with older versions of Microsoft Access.
See commit history for details on other changes not listed here.
v4.0.15-beta (dev branch)
IMPORTANT - Work in Progress
This version of the add-in was built from the dev
branch, and contains the latest features currently under development. You are welcome to use this for testing or production use, depending on your needs. If you decide to use the dev version in production, please do your own testing to ensure you are getting the desired output for exported source and builds.
If you are building the dev
branch from source, you will need version 4.* or newer to successfully build the add-in. (You can build v3 with v4, but you can't build v4 with v3.) In other words, you need this beta version to build the dev
branch for the first time.
Features / Fixes (Partial List)
- Fix logic error when building structure of navigation pane groups. #407 Thanks, @akruis!
- Ignore temporary objects in navigation pane. a19e5ca
- Handle null values in resources table. #408 f8d1f22 Thanks, @monheimx9!
- Fix logic error with relations export on full export. 49b51e0
- Handle document property assignment for invalid object. #409
- Refactor table filtering/listing in table data export. 10f80ab
- Fix error handling logic to avoid recursive reporting. #409
- Add button to
Export As...
#410 Thanks, @joshbooker!
Known Issues
- Merge build functionality has had limited testing in real-world applications. Feel free to use it, but recognize that there may be some bugs that pop up along the way. (Feel free to create issues to address any problems you find.)
- Automatic export on save is currently experimental, and potentially has issues with older versions of Microsoft Access.
See commit history for details on other changes not listed here.
v4.0.13-beta (dev branch)
IMPORTANT - Work in Progress
This version of the add-in was built from the dev
branch, and contains the latest features currently under development. You are welcome to use this for testing or production use, depending on your needs. If you decide to use the dev version in production, please do your own testing to ensure you are getting the desired output for exported source and builds.
If you are building the dev
branch from source, you will need version 4.* or newer to successfully build the add-in. (You can build v3 with v4, but you can't build v4 with v3.) In other words, you need this beta version to build the dev
branch for the first time.
Features / Fixes (Partial List)
- Enhance XML sanitizing and formatting to use XSL transformations. Thanks, @bclothier!
- Improve the shift-open functionality to use a more reliable API approach. Thanks, @bclothier!
- Improve the handling of ODBC connections that require authentication during build. Thanks, @bclothier! 180b9ef
- Sort timing report output by duration. a614fa5
- Add page to wiki describing the security considerations when using this add-in.
- Add functionality to install add-in in alternate locations, and improve installer GUI. Thanks, @hecon5 for your efforts on this!
- Build out merge support and index integration for all remaining database objects.
- Improve wording on conflict resolution screens. Thanks, @bclothier!
- Make Options and Conflict Resolution forms resizable, and dynamically adjust column widths. 9354576, b50f318
- Update Testing database after latest round of changes and enhancements.
- Change hyperlink labels to buttons. (In case the user has a hyperlink base set for the current database). 44ce3cd
- Improve the user interface experience on the table data export screen. Thanks, @bclothier! b3f1355
- Use worker to handle the clean removal of the add-in on uninstall.
- Fix alternate export of theme file. Thanks, @Tanarri!
- Update UI to enable merge build functionality.
- Add merge hooks to options.
- Update ribbon to latest twinBASIC compiler. ae7aad7
- Enable ribbon commands even when no database is open. (Use temporary database to load add-in project.) #405, 68b668a
Other Changes
- Convert project to stand-alone repository instead of fork. #395
- Rename project from
msaccess-vcs-integration
tomsaccess-vcs-addin
. #395
Known Issues
- Merge build functionality has had limited testing in real-world applications. Feel free to use it, but recognize that there may be some bugs that pop up along the way. (Feel free to create issues to address any problems you find.)
- Automatic export on save is currently experimental, and potentially has issues with older versions of Microsoft Access.
See commit history for details on other changes not listed here.
v4.0.9-beta (dev branch)
IMPORTANT - Work in Progress
This version of the add-in was built from the dev
branch, and contains the latest features currently under development. You are welcome to use this for testing or production use, depending on your needs. If you decide to use the dev version in production, please do your own testing to ensure you are getting the desired output for exported source and builds.
If you are building the dev
branch from source, you will need version 4.* or newer to successfully build the add-in. (You can build v3 with v4, but you can't build v4 with v3.) In other words, you need this beta version to build the dev
branch for the first time.
Features / Fixes
- Added support for exporting and importing a single object, including new toolbar buttons. #383
- Improvements to conflict detection, including support for merge conflicts. (Where importing source files may overwrite database objects that contain new changes.)
See commit history for details on other changes not listed here.
v4.0.7-beta (dev branch)
IMPORTANT - Work in Progress
This version of the add-in was built from the dev
branch, and contains the latest features currently under development. You are welcome to use this for testing or production use, depending on your needs. If you decide to use the dev version in production, please do your own testing to ensure you are getting the desired output for exported source and builds.
If you are building the dev
branch from source, you will need version 4.* or newer to successfully build the add-in. (You can build v3 with v4, but you can't build v4 with v3.) In other words, you need this beta version to build the dev
branch for the first time.
Features / Fixes
- Added support for UTF-8 systems, and several other bug fixes. (See commit history for details.)
Known Issues
- Overwrite detection and conflict resolution are still a work in progress. In most cases you can simply select Overwrite All to continue.
v4.0.5-beta (dev branch)
IMPORTANT - Work in Progress
This version of the add-in was built from the dev
branch, and contains the latest features currently under development. You are welcome to use this for testing or production use, depending on your needs. If you decide to use the dev version in production, please do your own testing to ensure you are getting the desired output for exported source and builds.
If you are building the dev
branch from source, you will need version 4.* or newer to successfully build the add-in. (You can build v3 with v4, but you can't build v4 with v3.) In other words, you need this beta version to build the dev
branch for the first time.
Known Issues
- Overwrite detection and conflict resolution are still a work in progress. In most cases you can simply select Overwrite All to continue.
v3.4.23 Compatibility Fix
IMPORTANT - Breaking change in Microsoft Access 2206
If you are using the latest version of Microsoft Access, you will probably need this update to avoid errors when exporting or building projects that use themes or shared images. (Which would be most projects.) Mike Wolfe posted a great explanation of this change on a blog article.