Releases: groboclown/p4ic4idea
v0.12.0 Working Again
v0.12.0 of the p4ic4idea plugin is now available. It includes bug fixes, and some much needed work to get it using current APIs so it will at least run on modern IDEs.
Overview
- Bug fixes
- Changed supported IDE versions - removed support for all versions of the IDE before v212.
- Refactored to simplify connection configuration code. This is starting a change to the code
- Upgraded referenced libraries.
Details
- Bug fixes
- RSH connections would incorrectly add "localhost:" to the command if the command name had no ':' character in it.
- This primarily affected tests running on Linux.
- The new version includes extra checking before using an RSH connection to ensure the executable file exists and is executable. However, the logic in place only works if the executable has no spaces in the file name.
- Improved the Active Connections panel to better refresh when the connection state changes, and now includes VCS roots that have an invalid Perforce configuration.
- Internally changed the association of workspace associations to the VCS root registration, which allows for more accurate file associations. This also alters how the Active Connections panel associates connections to roots. This is expected to eliminate many places where the plugin showed odd behavior.
- RSH connections would incorrectly add "localhost:" to the command if the command name had no ':' character in it.
- Changed supported IDE versions.
- Removed all code that requires v211 and prior support.
- Internally added jar support for compiling against 212, 213, and 221.
- v203 and v211 were originally planned for support, but they were removed due to complications in the codebase for backwards compatibility.
- Upgraded required minimum compiler compatibility to JDK 11.
- Removed all code that requires v211 and prior support.
- Nearly all bundled libraries have been updated. The included
bom.xml
file includes the updated information. - Refactored to simplify connection configuration code.
- This is starting a change to the code to be organized around specific, distinct bits of functionality, rather than around the IDE extension points.
0.12-b4 Updated to New
The fourth early version of 0.12.0 of the Perforce Community-Edition plugin is now available. This removes support for IDEs earlier than 2021.2, includes updated libraries, and several important bug fixes.
- Bug fixes
- RSH connections would incorrectly add "localhost:" to the command if the command name had no ':' character in it.
- This primarily affected tests running on Linux.
- The new version includes extra checking before using an RSH connection to ensure the executable file exists and is executable. However, the logic in place only works if the executable has no spaces in the file name.
- Improved the Active Connections panel to better refresh when the connection state changes, and now includes VCS roots that have an invalid Perforce configuration.
- Internally changed the association of workspace associations to the VCS root registration, which allows for more accurate file associations. This also alters how the Active Connections panel associates connections to roots. This is expected to eliminate many places where the plugin showed odd behavior.
- RSH connections would incorrectly add "localhost:" to the command if the command name had no ':' character in it.
- Changed supported IDE versions.
- Removed all code that requires v211 and prior support.
- Internally added jar support for compiling against 212, 213, and 221.
- v203 and v211 were originally planned for support, but they were removed due to complications in the codebase for backwards compatibility.
- Upgraded required minimum compiler compatibility to JDK 11.
- Removed all code that requires v211 and prior support.
- Nearly all bundled libraries have been updated. The included
bom.xml
file includes the updated information. - Refactored to simplify connection configuration code.
- This is starting a change to the code to be organized around specific, distinct bits of functionality, rather than around the IDE extension points.
0.12-b3 Updated to Old
The third early version of 0.12.0 of the Perforce Community-Edition plugin is now available. This removes support for IDEs earlier than 2020.3, includes updated libraries, and a minor bug fix.
- RSH connections would incorrectly add "localhost:" to the command if the command name had no ':' character in it.
- This primarily affected tests running on Linux.
- The new version includes extra checking before using an RSH connection to ensure the executable file exists and is executable. However, the logic in place only works if the executable has no spaces in the file name.
- Changed supported IDE versions.
- Removed all code that requires v211 and prior support.
- Internally added jar support for compiling against 212, 213, and 221.
- v203 and v211 were originally planned for support, but they were removed due to complications in the codebase for backwards compatibility.
- Upgraded required minimum compiler compatibility to JDK 11.
- Removed all code that requires v211 and prior support.
- Nearly all bundled libraries have been updated. The included
bom.xml
file includes the updated information. - Refactored to simplify connection configuration code.
- This is starting a change to the code to be organized around specific, distinct bits of functionality, rather than around the IDE extension points.
0.12-b2 Updated to Old
The second early version of 0.12.0 of the Perforce Community-Edition plugin is now available. This removes support for IDEs earlier than 2020.3, includes updated libraries, and a minor bug fix.
- RSH connections would incorrectly add "localhost:" to the command if the command name had no ':' character in it.
- This primarily affected tests running on Linux.
- The new version includes extra checking before using an RSH connection to ensure the executable file exists and is executable. However, the logic in place only works if the executable has no spaces in the file name.
- Changed supported IDE versions.
- Removed all code that requires v202 and prior support.
- Internally added jar support for compiling against v203, 211, 212, 213, and 221.
- Old versions of IntelliJ libraries, used for compiling, are still in the
lib
directory, but prefixed with "o". These were hard to create and, even though they remain in source control, I'm hard-pressed to part with them. - Upgraded compiler compatibility to JDK 11.
- Nearly all bundled libraries have been updated. The included
bom.xml
file includes the updated information. - Refactored to simplify connection configuration code.
- This is starting a change to the code to be organized around specific, distinct bits of functionality, rather than around the IDE extension points.
0.12-b1 Updated to Old
An early version of 0.12.0 of the Perforce Community-Edition plugin is now available. This removes support for IDEs earlier than 2020.3, includes updated libraries, and a minor bug fix.
- RSH connections would incorrectly add "localhost:" to the command if the command name had no ':' character in it.
- This primarily affected tests running on Linux.
- The new version includes extra checking before using an RSH connection to ensure the executable file exists and is executable. However, the logic in place only works if the executable has no spaces in the file name.
- Changed supported IDE versions.
- Removed all code that requires v202 and prior support.
- Internally added jar support for compiling against v203, 211, 212, 213, and 221. Only v203 is running right now.
- Upgraded compiler compatibility to JDK 11.
- Upgraded dependent libraries.
0.11.3 Stop Gap
Version 0.11.3 of the Perforce Community-Edition plugin is now available. This contains a bug fix for an IDE API change related to version 2021.1.
Changes:
- Change provider make an incorrect assumption that the IDE API
getListsCopy
call returned a mutable value (bug #225).
0.11.2 Vastly Curious
Version 0.11.2 of the Perforce Community-Edition plugin is now available. This contains a bug fix for the compatibility check pop-up; it incorrectly reported Android Studio 4.0 as being out-of-date. You can download it from the IntelliJ plugin interface, or from github.
Changes:
- Fixed the version compatibility check to work with IDE 2020.2.1 (minor version was reported as "2.1") and with Android Studio 4.0. Now, the check instead informs the user about the build number, which should be universal across IDEs. (#214)
0.11.1 Particular Elephant
Version 0.11.1 of the Perforce Community-Edition plugin is now available. This contains charset bug fixes and a rare timing issue fix. You can download it from the IntelliJ plugin interface, or from github.
- Fixed a bug related to an NPE on a cached component.
- Fixed a bug where the encoding from the Perforce server wasn't supported by Java (specifically,
utf8-bom
). It now tries to strip the "-bom" off, then will resort to the default enocding of the local computer. (Bug #220)
0.11.0 Organic Rocks
Version 0.11.0 of the Perforce Community-Edition plugin is now available. This has version upgrades for old libraries, deprecation warning message if you're running on an IDE older than 2018.2, and some bug fixes around ignore files and charset selection. You can download it from the IntelliJ plugin interface, or from github.
Changes:
- Warning about IDE before 2018.2.
- Compatibility for these IDE versions will be removed soon.
- Upgraded older libraries.
- Direct dependencies:
- commons-compress from v1.16.1 to 1.20
- commons-io from v2.5 to v2.7
- commons-lang3 from v3.7 to v3.10
- gson from v2.8.2 to v2.8.6
- httpclient from v4.5.5 to v4.5.12
- httpcore from v4.4.5 to v4.4.9
- jna and jna-platform from v5.2.0 to v5.5.0
- jsr305 from v3.0.1 to v3.0.2
- Removed the dependency on guava (it's now strictly a test dependency)
- Test dependencies:
- guava from v19.0 to 29.0
- apiguardian from v1.0.0 to v1.1.0
- junit-platform-commons from v1.1.0 to v1.6.2
- junit-platform-engine from v1.1.0 to v1.6.2
- junit-platform-launcher from v1.1.0 to v1.6.2
- junit-platform-runner from v1.1.0 to v1.6.2
- junit-platform-suite-api from v1.1.0 to v1.6.2
- junit-jupiter-api from v5.1.0 to v5.6.2
- junit-jupiter-engine from v5.1.0 to v5.6.2
- junit-vintage-engine from v5.1.0 to v5.6.2
- And more?
- Direct dependencies:
- Created a bill of materials.
- Because the plugin is distributed as a "fat jar", it means the end-users have no easy way to understand what libraries are implicitly included. The new bill of materials (BOM) describes what the end-user receives.
- Build improvements
- Upgraded gradle from 4.10 to 6.5
- Bug fixes
- Added some
p4ignore
compatibility (#219). Note that thep4ignore
only applies to files open for add; files already added will not use the ignore. There's a small edge case where, if a file is read-only, not added, ignorable, and the user edits the file through typing, then the file will be added to a changelist. - Improved charset interpretation (#217). This wasn't consistently handled before. Now, there's a user preference to select the setting of file encoding - the default is to use whatever the server has. Other options are to use what the IDE thinks is the file encoding, or use the client configured value (
P4CHARSET
).
- Added some
0.10.17 Wrinkled Toes
Version 0.10.17 of the Perforce Community-Edition plugin is now available. This has a fix for issues around associating files with clients if you have multiple clients for a single project. You can download it from the IntelliJ plugin interface, or from github.
Changes:
- Bug fixes
- Fix for Local Changed Diff View for Edited File Generates "null file spec in arguments" (#213). This same bug seems to be also the source of many issues around
- Upgraded to P4Java v19.1
- The plugin uses a modified version of official Perforce P4Java library. The modified version has been upgraded to reflect updates in the official 19.1 release.